Requete delete

Résolu/Fermé
parisien4ever Messages postés 39 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 juin 2005 - 22 mars 2005 à 11:00
 Utilisateur anonyme - 22 mars 2005 à 13:28
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

9 réponses

parisien4ever Messages postés 39 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 juin 2005 1
22 mars 2005 à 13:24
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);
?>
1
Utilisateur anonyme
22 mars 2005 à 12:31
salut, ilfaut que tu rajoutes des guillemets dans ta requete:

soit
delete from utilisateurs where nom = '$_POST['nom']';

voila!
0
parisien4ever Messages postés 39 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 juin 2005 1
22 mars 2005 à 12:37
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
0
Utilisateur anonyme
22 mars 2005 à 12:40
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'";
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
parisien4ever Messages postés 39 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 juin 2005 1
22 mars 2005 à 12:58
avec un nom que je connais ca fonctionne
0
Utilisateur anonyme
22 mars 2005 à 13:02
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.
0
parisien4ever Messages postés 39 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 2 juin 2005 1
22 mars 2005 à 13:07
$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
0
Utilisateur anonyme
22 mars 2005 à 13:22
et le résultat du print donne quoi ?

çéa te permet de voir la requete qui est exécutée
0
Utilisateur anonyme
22 mars 2005 à 13:28
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.
0