Dificulté avec update

Bonjour,
J'ai un problème au niveau du fichier modifierEtudiant.php, si je veux faire un update on m'affiche: Notice: Undefined index: code in C:/wamp/www/gestionEtudiant/modifierEtudiant.php on line 3 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 " at line 1

voici le fichier modifierEtudiant.php:
<?php
    require_once ("check1.php");
    require_once ("check2.php");
    require_once("connection.php");
    $code=$_POST['code'];
    $nom=$_POST['nom'];
    $email=$_POST['email'];
    $photo=$_FILES['photo']['name'];
    $file_tmp_name=$_FILES['photo']['tmp_name'];
    move_uploaded_file($file_tmp_name,"./img/$photo");
    $req="update etudiant set nom='$nom',email='$email',photo='$photo' where code=$code";
    mysql_query($req) or die(mysql_error());
    require_once ("afficher.php");
?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

  1. Bonjour ça me renvoi encore ça:
    Notice: Undefined index: code in C:\wamp\www\gest_et\modifier.php on line 5
    update etudiant set nom='jj',email='g@k.com',photo='Koala.jpg' where code=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 '' at line 1
    1. Salut,
      As tu bien modifié ta ligne 5 pour récupérer la paramètre code avec la solution proposée par jordane45 ?
    2. @Pitetsalut
      j'ai bien essayé le solution de jordan45; ça donne le même resultat
    3. Peux tu nous montrer ton code modifié stp ?
  2. Modérateur
    Bonjour,

    Pour éviter les soucis de variables "undefined" il est préférable de récupérer "proprement" ces variables via l'écriture TERNAIRE et un ISSET.

    Ce qui donnerait par exemple :
    $code   = isset($_POST['code']) ? $_POST['code'] : '';
    $nom   = isset($_POST['nom']) ? $_POST['nom'] : '';
    $email = isset($_POST['email']) ? $_POST['email'] : '';
    


    1. ça me renvoi encore ça
      Notice: Undefined index: code in C:\wamp\www\gest_et\modifier.php on line 5
      update etudiant set nom='jj',email='g@k.com',photo='Koala.jpg' where code=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 '' at line 1
  3. Modérateur
    Fais un
    echo $req;
    Avant ton mysql_query histoire de voir la requête créée.

    Petit rappel, l'extension mysql est obsolète
    1. j'ai encore ça
      Notice: Undefined index: code in C:\wamp\www\gest_et\modifier.php on line 5
      update etudiant set nom='jj',email='g@k.com',photo='Koala.jpg' where code=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 '' at line 1
    2. Modérateur
      Code est un numérique ?
      Si non, il faut mettre les quotes pour signifier une chaine.
    3. Modérateur
      Mais dans ton cas, Code n'est pas définit, donc ta requête SQL se termine par un '=' ce qui n'est pas bon.
    4. Modérateur
      Donc la question majeure est ....comment envoies tu cette variable CODE à cette page ?
      Fais voir ton formulaire HTML