Modification d'une table à partir d'un formulaire

Résolu
Bonjour,
je viens de faire un formulaire de modification des données deja insérées dans une table,j'ai pu récupérer ttes les valeurs des champs mais quand je clique sur modifier cette erreur s'affiche :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sexe='femme', adresse = 'KOLEA', tel = '12345' comments ' at line 5
quelqu'un pourrait m'aider je suis encore débutante.
Merci d'avance

1 réponse

  1. Salut salut,

    Un petit morceau de code au niveau de la requête qui génère l'erreur nous aiderait beaucoup ;)
    1. Merci kyser :) voilà le code:

      <?php
      $cnx = mysql_connect( "localhost", "root", "" ) ;
      $db = mysql_select_db("cliniquegenerale");
      //récupération des valeurs des champs:

      $nom = $_POST["nom"] ;
      $prenom = $_POST["prenom"] ;
      $date = $_POST['date_naissance'];
      $sexe = $_POST["sexe"];
      $adresse = $_POST["adresse"] ;
      $tel = $_POST["tel"] ;
      $remarque = $_POST['comments'];
      $choix = $_POST['choix'];

      //récupération de l'identifiant de la personne:
      $id = $_POST["id"] ;

      //création de la requête SQL:
      $sql = "UPDATE patient
      SET nom = '$nom',
      prenom = '$prenom',
      date_naissance='$date'
      sexe='$sexe',
      adresse = '$adresse',
      tel = '$tel',
      comments = '$remarque',
      choix = '$choix',
      WHERE id = '$id' " ;

      //exécution de la requête SQL:
      $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

      //affichage des résultats, pour savoir si la modification a marchée:
      if($requete)
      {
      echo("La modification à été correctement effectuée") ;
      }
      else
      {
      echo("La modification à échouée") ;
      }

      ?>
    2. Fais un
      echo $sql;
      juste avant le mysql_query($sql...) pour voir à quoi elle ressemble en entière quand elle passe dans mysql_query. Attention les champs peuvent être vide si la variable POST est vide!
    3. voilà ce que j'ai obtenu comme erreur

      UPDATE patient SET nom = 'TOTO', prenom = 'TITIii', date_naissance='1999-04-11' sexe='Homme', adresse = 'homee', tel = '9876', comments = 'Collegue', choix = 'consultation', WHERE id = '5' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sexe='Homme', adresse = 'homee', tel = '9876', comments ' at line 5
    4. Il manque une virgule entre (date_naissance='1999-04-11') et (sexe='Homme'), et il y a une virgule en trop entre 'consultation' et WHERE(... choix = 'consultation', WHERE ...)
    5. Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ça marche :D vraiment merci