Requete delete

Résolu
parisien4ever Messages postés 39 Statut Membre -  
 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

9 réponses

  1. parisien4ever Messages postés 39 Statut Membre 1
     
    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
  2. Utilisateur anonyme
     
    salut, ilfaut que tu rajoutes des guillemets dans ta requete:

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

    voila!
    0
  3. parisien4ever Messages postés 39 Statut Membre 1
     
    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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. parisien4ever Messages postés 39 Statut Membre 1
     
    avec un nom que je connais ca fonctionne
    0
  7. Utilisateur anonyme
     
    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
  8. parisien4ever Messages postés 39 Statut Membre 1
     
    $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
  9. Utilisateur anonyme
     
    et le résultat du print donne quoi ?

    çéa te permet de voir la requete qui est exécutée
    0
  10. Utilisateur anonyme
     
    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