Requete delete
Résolu
parisien4ever
Messages postés
39
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
j'ai créé un formulaire pour supprimer une des lignes dans une table mais cela ne fonctionne pas voila mon code
<?php
$db = mysql_connect('localhost', '****', '*****');
mysql_select_db('authentification',$db);
//echo $_POST['nom'];
$req = "delete from utilisateurs where nom = $_POST['nom']";
mysql_query($req);
?>
Dans mon formulaire il y a un champ texte qui s'appel nom et selon ce qui est rentré ds ce champ, je voudrai supprimer la ligne qui correspond dans ma table
quelqu'un peut il m'aider ???? merci
<?php
$db = mysql_connect('localhost', '****', '*****');
mysql_select_db('authentification',$db);
//echo $_POST['nom'];
$req = "delete from utilisateurs where nom = $_POST['nom']";
mysql_query($req);
?>
Dans mon formulaire il y a un champ texte qui s'appel nom et selon ce qui est rentré ds ce champ, je voudrai supprimer la ligne qui correspond dans ma table
quelqu'un peut il m'aider ???? merci
9 réponses
-
j'ai trouver j'ai du déclarer la variable$_POST['nom']; en $nom avant pour que ca marche je sais pas trop pourquoi en tout cas merci d'avoir répondu aussi vite
<?php
$db = mysql_connect('localhost', '***', '****');
mysql_select_db('authentification',$db);
//$nom=$_POST['nom'];
//echo $_POST['nom'];
$nom=$_POST['nom'];
$req = "delete from utilisateurs where nom='$nom'";
print $req;
mysql_query($req);
?> -
salut, ilfaut que tu rajoutes des guillemets dans ta requete:
soit
delete from utilisateurs where nom = '$_POST['nom']';
voila! -
j'ai mis les guillemetes ainsi
$req = "delete from utilisateurs where nom = '$_POST['nom']'";
mysql_query($req);
$j'ai le message d'erreur suivant
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in h:\site\php\supprimer.php on line 9
la ligne 9 étant la ligne de la requete $req -
essaie déjçà de lancer ta requete avec un nom que tu connais,que tu as inséré:
par exemple
$req = "delete from utilisateurs where nom='toto'"; -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
alors réécris ta requete en remplacant Que toto par $_POST['nom'] et puis tu affiche la requete, enfin la chaine quuu'elle vaut:
par exmple pour tester :
juste après l'affectation dans $req,
tu écris print $req; die(); qui arrete le script. tu devrais avoir à l'ecran la requete qui doit etre exécutée, et qui ne doit pas etre correcte si ca ne fontionne pas. -
$req = "delete from utilisateurs where nom = '$_POST['nom']'";
print $req;
die();
mysql_query($req);
voila ce que ca donne mais ca donne toujours le même message d'erreur -
et le résultat du print donne quoi ?
çéa te permet de voir la requete qui est exécutée -
oui je sais:
cela vient des guillemets:
dans '$_POST['nom']' il y a une chaine qui va de ' à '$_POST[' et il ne comprend pas la suite.
Il faut plutot écrire
$req = "delete from utilisateurs where nom=' ".$_POST['nom'] ." ' ";
tout betement...
...ou comme tu as fais aussi.