Probleme de code sql

Bonjour, jai un probleme avec mon code il maffiche'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 'WHERE id_user = '7'' at line 7' mais a cette ligne je ne vois pas d'erreur

4 réponses

  1. Bonjour,

    Peux ête pourrais tu nous donner la ligne SELECT ..... (ligne 7) en entier, ca pourrait être utile ^^

    WHERE id_user = '7''


    Deja c'est soit simple quote soit double quote mais pas les deux differentes

    Cordialement

    En informatique 99% des problèmes se situent entre le fauteuil et le clavier
    1. $sql1 = "UPDATE stagiaire
                SET   date_naiss='$date_naiss',
               niveau  = '$niveau', 
                  specialite = '$specialite',
               ecole  = '$ecole',
            id_admin='$id_admin',
            WHERE id_user = '$id' " ;
  2. Contributeur
    Salut,

    Affiche ton code, peut-être que d'autres verront l'erreur que tu ne vois pas ;-\
    1. <?php
       if(isset($_GET['valid'])){
        //récupération des valeurs des champs:
          $id=$_POST['id'];
          $nom=$_POST['nom'];
       $adresse = $_POST['adresse'];
          $prenom = $_POST['prenom'];
          $ville = $_POST['ville'];
          $pays= $_POST['pays'];
          $email= $_POST['email'];
          $sexe= $_POST['sexe'];
          $tel = $_POST['tel'];
          $civilite= $_POST['civilite'];
          $cni = $_POST['cni'];
          $date_naiss = $_POST['date_naiss'];
          $niveau= $_POST['niveau'];
          $specialite= $_POST['specialite'];
          $ecole = $_POST['ecole'];
       $type = $_POST['type_user'];
       $annul = $_POST['annuler'];
       $id_admin ='3';
        //création de la requête SQL:
        $sql = "UPDATE utilisateur
                SET  
              type_user='$type',
              nom  = '$nom', 
                 prenom  = '$prenom',
              adresse  = '$adresse',
              tel= '$tel',
           situation_famille='$civilite',
           sexe='$sexe',
           email='$email',
           ville='$ville',
           cni='$cni',  
           id_pays='$pays'
                 WHERE id_user = '$id' " ;
       //exécution de la requête SQL:
        $requete = mysql_query($sql) 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") ;
        }
          $sql1 = "UPDATE stagiaire
                SET   date_naiss='$date_naiss',
               niveau  = '$niveau', 
                  specialite = '$specialite',
               ecole  = '$ecole',
            id_admin='$id_admin',
            WHERE id_user = '$id' " ;
       //exécution de la requête SQL:
        $requete1 = mysql_query($sql1) or die( mysql_error() ) ;
       
        
       }
        
      ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>formulaire</title>
      
      
      <link type='text/css' rel='Stylesheet' href="css/style.css" />
      <link rel="stylesheet" media="screen" type="text/css" title="Design" href="css/calendar.css" />
      <script type="text/javascript" src="javascript/calendar.js"></script>
      
      </head>
      
      <body style="background-color:#567">
      <table style="margin:auto; border-color:#999; border-width:1px; border-style:ridge; background-color:#FFF; border-radius:4px; width:990px" align="center" cellpadding="0" cellspacing="0">
      <tr><td  > <?php include('banniere.php'); ?></td></tr>
      
      <tr><td style="background-color:#3399cc;"><?php include('menu_admin.php');  ?></td>
      </tr>
      <tr><td>
       <?php
      
        //récupération de la variable d'URL,
        //qui va nous permettre de savoir quel enregistrement modifier
        $id  = $_GET["identifiant"] ;
       
        //requête SQL:
      //  $sql = "SELECT *
      //            FROM utilisateur
      //     WHERE id_user ='$id' " ;
       
      //  $requete = mysql_query( $sql ) or die( mysql_error()) ;
      //  $sql1 = "SELECT *
      //            FROM stagiaire
      //     WHERE id_user = '$id'";
      // 
      //  $requete1 = mysql_query( $sql1 ) or die( mysql_error()) ;
       
       
        //affichage des données:
      //  if( $dnn = (mysql_fetch_object( $requete)&& mysql_fetch_object($requete1) )  )
      
         //requête SQL:
         $sql = "SELECT * FROM  utilisateur AS u, stagiaire AS s, pays AS p, ecole AS e
          WHERE  u.id_user = s.id_user AND u.id_user = $id AND s.id_user =$id  AND p.id_pays = u.id_pays AND e.id_ecole = s.id_ecole";
      
        $requete = mysql_query( $sql ) or die( mysql_error()) ;
      
        if( $dnn = (mysql_fetch_array( $requete)))
      
        {
         $d = $dnn['situation_famille']; 
         $s = $dnn['sexe'];
         $p = $dnn['nom_pays'];
         $e = $dnn['nom_ecole'];
        ?>


      svp regarder mes requetes sql
      1. je regarde

        Pourrais tu nous faire apres la requete ligne 23 un petit echo $sql;

        $sql = "UPDATE utilisateur
                  SET  
                type_user='$type',
                nom  = '$nom', 
                   prenom  = '$prenom',
                adresse  = '$adresse',
                tel= '$tel',
             situation_famille='$civilite',
             sexe='$sexe',
             email='$email',
             ville='$ville',
             cni='$cni',  
             id_pays='$pays'
                   WHERE id_user = '$id' " ;
        
        echo $sql;
        die();


        je dis ça parceque si $type, $nom, etc contiet un appostrophe on est mal :)
    2. et cest just la portion de mon code ou il ya mes requetes sql ki derange
      1. vérifions que ta requete SQL est bien formée ... donc je reitère ma demande. Parceque si une adresse est du genre "mpasse de l'angoisse" je pense que ca va poser un pb

        ou alors faire un truc du genre :

        type_user=' " . echo $type . " ',

        etc ....
      2. UPDATE utilisateur SET type_user='Stagiaire', nom = 'coco', prenom = 'argenté', adresse = 'dla 43', tel= '56891230', situation_famille='', sexe='', email='***@***', ville='douala', cni='234567890°+567', id_pays='1' WHERE id_user = '11'
        voila ce ke ca maffiche
      3. <?php
         if(isset($_GET['valid'])){
          //récupération des valeurs des champs:
            $id=$_POST['id'];
            $nom=$_POST['nom'];
         $adresse = $_POST['adresse'];
            $prenom = $_POST['prenom'];
            $ville = $_POST['ville'];
            $pays= $_POST['pays'];
            $email= $_POST['email'];
            $sexe= $_POST['sexe'];
            $tel = $_POST['tel'];
            $civilite= $_POST['civilite'];
            $cni = $_POST['cni'];
            $date_naiss = $_POST['date_naiss'];
            $niveau= $_POST['niveau'];
            $specialite= $_POST['specialite'];
            $ecole = $_POST['ecole'];
         $type = $_POST['type_user'];
         $annul = $_POST['annuler'];
         $id_admin ='3';
          //création de la requête SQL:
          $sql = "UPDATE utilisateur
                  SET  
                type_user='$type',
                nom  = '$nom', 
                   prenom  = '$prenom',
                adresse  = '$adresse',
                tel= '$tel',
             situation_famille='$civilite',
             sexe='$sexe',
             email='$email',
             ville='$ville',
             cni='$cni',  
             id_pays='$pays'
                   WHERE id_user = '$id' " ;
         //exécution de la requête SQL:
          $requete = mysql_query($sql) 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") ;
          }
            $sql1 = "UPDATE stagiaire
                  SET   date_naiss='$date_naiss',
                 niveau  = '$niveau', 
                    specialite = '$specialite',
                 ecole  = '$ecole',
              id_admin='$id_admin',
              WHERE id_user = '$id' " ;
         //exécution de la requête SQL:
          $requete1 = mysql_query($sql1) or die( mysql_error() ) ;
         
          
         }
          
        ?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>formulaire</title>
        
        
        <link type='text/css' rel='Stylesheet' href="css/style.css" />
        <link rel="stylesheet" media="screen" type="text/css" title="Design" href="css/calendar.css" />
        <script type="text/javascript" src="javascript/calendar.js"></script>
        
        </head>
        
        <body style="background-color:#567">
        <table style="margin:auto; border-color:#999; border-width:1px; border-style:ridge; background-color:#FFF; border-radius:4px; width:990px" align="center" cellpadding="0" cellspacing="0">
        <tr><td  > <?php include('banniere.php'); ?></td></tr>
        
        <tr><td style="background-color:#3399cc;"><?php include('menu_admin.php');  ?></td>
        </tr>
        <tr><td>
         <?php
        
          //récupération de la variable d'URL,
          //qui va nous permettre de savoir quel enregistrement modifier
          $id  = $_GET["identifiant"] ;
         
          //requête SQL:
        //  $sql = "SELECT *
        //            FROM utilisateur
        //     WHERE id_user ='$id' " ;
         
        //  $requete = mysql_query( $sql ) or die( mysql_error()) ;
        //  $sql1 = "SELECT *
        //            FROM stagiaire
        //     WHERE id_user = '$id'";
        // 
        //  $requete1 = mysql_query( $sql1 ) or die( mysql_error()) ;
         
         
          //affichage des données:
        //  if( $dnn = (mysql_fetch_object( $requete)&& mysql_fetch_object($requete1) )  )
        
           //requête SQL:
           $sql = "SELECT * FROM  utilisateur AS u, stagiaire AS s, pays AS p, ecole AS e
            WHERE  u.id_user = s.id_user AND u.id_user = $id AND s.id_user =$id  AND p.id_pays = u.id_pays AND e.id_ecole = s.id_ecole";
        
          $requete = mysql_query( $sql ) or die( mysql_error()) ;
        
          if( $dnn = (mysql_fetch_array( $requete)))
        
          {
           $d = $dnn['situation_famille']; 
           $s = $dnn['sexe'];
           $p = $dnn['nom_pays'];
           $e = $dnn['nom_ecole'];
          ?>
      4. cest just une portion de mon code
      5. cite : " prenom = 'argenté' " ce n'est pas un prenom ça ^^ ca sent l'UTF8

        <?php
        $mysqli = new mysqli("localhost", "my_user", "my_password", "test");
        
        /* Vérification de la connexion */
        if (mysqli_connect_errno()) {
            printf("Échec de la connexion : %s\n", mysqli_connect_error());
            exit();
        }
        
        /* Modification du jeu de résultats en utf8 */
        if (!$mysqli->set_charset("utf8")) {
            printf("Erreur lors du chargement du jeu de caractères utf8 : %s\n", $mysqli->error);
        } else {
            printf("Jeu de caractères courant : %s\n", $mysqli->character_set_name());
        }
        
        $mysqli->close();
        ?>