D'accord laissez-moi m'expliquer ici:La requête MySQL est en cours d'exécution mais ne fonctionne pas
Je fais un jeu basé sur le texte en ligne. J'ai une page où 3 choses peuvent se produire:
Jusqu'à présent, j'ai la création d'une position de travail. Je suis passé à la suppression d'une position suivante. Tout était bon et je n'ai eu aucune erreur, aucun avertissement, etc. Et quand je l'ai couru, il est revenu à l'écran qu'il était censé après le script pour supprimer la position courue. Il est seulement supposé venir ici après l'exécution de la requête.
Eh bien rien ne s'est passé et après 3 heures de merde j'arrive à vous les gars b/c je suis sur ma dernière jambe. Je n'ai toujours pas d'erreurs critiques, rien ne le fait échouer: voici mon code.
<?php
//In the include file is the connection to the db
include("library/new_library.php");
//Below is the session id, gets their position id from the DB, than grabs whether or not they can edit the company
$user_id = $_SESSION['user_id'];
$sql = "SELECT ID, PositionID FROM users WHERE ID = '$user_id'";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
$position = $row['PositionID'];
}
$sql = "SELECT * FROM tblCPositions WHERE PositionID = '$position'";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
$editCompany = $row['Edit_Company'];
}
//Next I check for position edit and if they try to put in the position id of a position the company does not control it gives them a "nice" message.
$company = $_SESSION['company'];
if($_GET['pidedit']){
$position = $_GET['pidedit'];
$sql = "SELECT * FROM tblCPositions WHERE PositionID = '$position'";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
if($row['CompanyID'] != $company)
{
$warning = "<div class='warning'>You are trying to edit a position that does not belong to your company. DO NOT TRY TO CHEAT THE SYSTEM!</div>";
}
else
{
$positionArray[] = array(ID => $row['PositionID'], name => $row['Name'], hire => $row['Hire'], fire => $row['Fire'], bid => $row['Contract'], edit => $row['Edit_Company'], finances => $row['Finances']);
}
}
}
//Here I check for $_GET delete
elseif($_GET['piddelete'])
{
$position = $_GET['piddelete'];
$sql = "SELECT * FROM tblCPositions WHERE PositionID = '$position'";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
if($row['CompanyID'] != $company)
{
$warning = "<div class='warning'>You are trying to delete a position that does not belong to your company. DO NOT TRY TO CHEAT THE SYSTEM!</div>";
}
}
}
else
{
$sql = "SELECT * FROM tblCPositions WHERE CompanyID = '$company'";
$query = mysql_query($sql);
$number = mysql_num_rows($query);
$numberLeft = 12 - $number;
while($row = mysql_fetch_assoc($query))
{
$positionArray[] = array(ID => $row['PositionID'], name => $row['Name'], hire => $row['Hire'], fire => $row['Fire'], bid => $row['Contract'], edit => $row['Edit_Company'], finances => $row['Finances']);
}
}
//
if($_POST['submitNewPosition'])
{
$name = $_POST['positionName'];
$hire = $_POST['hire'];
$fire = $_POST['fire'];
$bid = $_POST['bid'];
$edit = $_POST['edit'];
$finances = $_POST['finances'];
$cid = $_SESSION['company'];
$sql = "INSERT INTO tblCPositions(CompanyID, Name, Hire, Fire, Contract, Edit_Company, Finances) VALUES ('$cid','$name','$hire','$fire','$bid','$edit','$finances')";
$query = mysql_query($sql);
if($query)
{
header("location: view_company.php?newp=success");
}
}
//Haven't finished this section yet
if($_POST['submitEditPosition'])
{
$name = $_POST['positionName'];
$fire = $_POST['hire'];
$fire = $_POST['fire'];
$bid = $_POST['bid'];
$edit = $_POST['edit'];
$finances = $_POST['finances'];
}
//This this is my problem area, this is where it says its running the query but its not.
if(isset($_POST['deletePosition']))
{
$deleteID = $_GET['piddelete'];
$deleteSql = "DELETE FROM tblCPositions WHERE PositionID = '$deleteID'";
$deleteQuery = mysql_query($deleteSql);
if($deleteQuery)
{
header("location: view_company.php?delete=success");
}
if(!$deleteQuery)
{
header("location: view_company.php?delete=failure");
}
}
MISE À JOUR -
Ok donc je l'ai travaillé le problème était que j'ai oublié, cette forme était destiné à être un « oui ou non la forme » si je faisais poste uniquement pour poste le bouton Envoyer, rien d'autre n'était sur le formulaire. Ce que j'avais oublié était sur l'action = "fichier.php" (ce que j'avais) j'avais oublié de passer sur la variable get donc une fois que je l'ai changé en action = "fichier.php? Piddelete = 12" cela a fonctionné.
Merci pour tout le monde aide je l'apprécie vraiment.
Je dois dire que le titre très intéressant :) – codaddict
Uhm, avez-vous vérifié wethere error_reporting = E_ALL & ~ E_NOTICE & ~ E_DEPRECATED est réglé? – lock
ouais c'est mais je ne pouvais pas penser à une autre façon de l'expliquer, je vais écrire avec le rapport d'erreur. – jefffan24