Problème Update SQL

cracs22 Messages postés 26 Statut Membre -  
 le père -
Bonjour,

Je suis entrain de crée un Site perso, j'ai deja crée le script pour l'inscription.. dans ma partie admin j'ai fais un script qui permet de voir tout les inscrit dans un tableau et je peux les supprimer, maintenant j'en suis a creer un script pour Modifier la base de donnée donc le Login des inscrits, motdepasse etc.. J'utilise la balise Update mais une erreur viens apres validation de mon formulaire :'( Si quelqu'un peut m'aider svp

Voici l'erreur et mon script :

Probleme : 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 '( Login='bibi' ,password='bibi' ,Email='bibi@gmail.com' )' at line 2

inscrit_modifier.php
<?php    
 // On récupère la valeur de la référence du produit    
 $id=$_GET['id'];    
     
 // Connexion à la base de données    
 require_once("connexion.php"); // ceci inclut le fichier a.php    
     
 // Creation et envoi de la requete    
 $requete = "    
  SELECT *     
  FROM inscrit     
  WHERE NumInscrit=$id    
  ";    
      
 if ($resultat = mysqli_query($connection,$requete)) {    
  // Récupération du tableau associatif    
  while ($row = mysqli_fetch_row($resultat)) {     
   echo "<form id='monForm' action='includes/inscrit_saisir.php' method='post'>";    
    echo "<fieldset>";    
    echo "<legend>Informations Membres</legend>";    
    echo "<p>";    
     echo "<label for='Login'>Login : </label>";    
     echo "<input type='text' id='Login' name='Login' value='".$row[0]."' />";    
    echo "</p>";    
    echo "<p>";    
     echo "<label for='password'>Mot de passe : </label>";    
     echo "<input type='text' id='password' name='password' value='".$row[1]."' />";    
    echo "</p>";    
    echo "<p>";    
     echo "<label for='Email'>Email : </label>";    
     echo "<input type='text' id='Email' name='Email' value='".$row[2]."'/>";    
    echo "</p>";    
    echo "</fieldset>";        
    echo "<p>";    
     echo "<input type='submit' name='submit'  class='submit' />";    
    echo "</p>";    
   echo "</form>";    
  }    
 }    
 // Libération du jeu de résultats     
 mysqli_free_result($resultat);    
 //Fermeture de la connexion    
 mysqli_close($connection);     
?>


inscrit_saisir.php
<?php    
 // Connexion à la base de données    
 require_once("connexion.php"); // ceci inclut le fichier a.php    
 if (sizeof($_POST) > 0) {    
  $requete = "    
   UPDATE inscrit    
   SET (    
    Login='".htmlspecialchars($_POST['Login'], ENT_QUOTES)."'    
    ,password='".htmlspecialchars($_POST['password'], ENT_QUOTES)."'    
    ,Email='".htmlspecialchars($_POST['Email'], ENT_QUOTES)."'       
   )";    
  $resultat = mysqli_query($connection, $requete);      
  if (!$resultat)  die ("Probleme :  " . mysqli_error($connection));    
  else    
  mysqli_close($connexion);     
  /* Redirection vers une page différente du même dossier */    
  header('location: ../membre.php');    
}    
?>


Merci

7 réponses

  1. le père
     
    Bonjour

    D'après le manuel mySQL, pas de parenthèses pour ce qui suit le SET
    De plus, il ne manquerait pas un 'WHERE' à ton update ? Car là, toute ta table va y passer !
    0
  2. cracs22 Messages postés 26 Statut Membre
     
    ce serai du genre :

    <?php  
     // Connexion à la base de données  
     require_once("connexion.php"); // ceci inclut le fichier a.php  
     if (sizeof($_POST) > 0) {  
      $requete = "  
       UPDATE inscrit (  
        'Login'  
        , 'password'  
        , 'Email'    
       WHERE NumInscrit=$id   
       )";   
       SET "  
        Login='".htmlspecialchars($_POST['Login'], ENT_QUOTES)."'  
        ,password='".htmlspecialchars($_POST['password'], ENT_QUOTES)."'  
        ,Email='".htmlspecialchars($_POST['Email'], ENT_QUOTES)."'     
       ";  
      $resultat = mysqli_query($connection, $requete);    
      if (!$resultat)  die ("Probleme :  " . mysqli_error($connection));  
      else  
      mysqli_close($connexion);   
      /* Redirection vers une page différente du même dossier */  
      header('location: ../membre.php');  
    }  
    ?>


    desole je suis pas tellement fort en php/SQL :x car je cherche a pouvoir modifier Login, password et Email
    0
  3. le père
     
    Ça devrait plutôt ressembler à
    $requete = "
    UPDATE inscrit
    SET
    Login='".htmlspecialchars($_POST['Login'], ENT_QUOTES)."'
    ,password='".htmlspecialchars($_POST['password'], ENT_QUOTES)."'
    ,Email='".htmlspecialchars($_POST['Email'], ENT_QUOTES)."'
    WHERE NumInscrit=$id ";
    0
  4. cracs22 Messages postés 26 Statut Membre
     
    voila la nouvelle erreur :'( :

    Probleme : 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 6

    <?php 
     // Connexion à la base de données 
     require_once("connexion.php"); // ceci inclut le fichier a.php 
     if (sizeof($_POST) > 0) { 
      $requete = "  
       UPDATE inscrit 
       SET  
        Login='".htmlspecialchars($_POST['Login'], ENT_QUOTES)."'  
        ,password='".htmlspecialchars($_POST['password'], ENT_QUOTES)."'  
        ,Email='".htmlspecialchars($_POST['Email'], ENT_QUOTES)."'  
       WHERE NumInscrit=$id "; 
        
      $resultat = mysqli_query($connection, $requete);   
      if (!$resultat)  die ("Probleme :  " . mysqli_error($connection)); 
      else 
      mysqli_close($connexion);  
      /* Redirection vers une page différente du même dossier */ 
      header('location: ../membre.php'); 
    } 
    ?>


    desole d'être aussi nul, si il faut c'est super simple...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. le père
     
    Bonsoir

    As-tu essayé de faire un echo de ta requête pour la voir ? Je parie qu'il manque la valeur de $id à la fin.
    En effet, je vois son initialisation au début de inscrit_modifier.php, mais pas dans inscrit_saisir.php
    Pour le récupérer dans la page inscrit_saisir.php, tu as le choix entre plusieurs méthodes
    . en le stockant dans une variable de session
    . en ajoutant ?id=$id dans l'action de ton form, pour le récupérer en $_GET de l'autre côté
    . en ajoutant un champ hidden dans ton form, pour le récupérer en $_POST de l'autre côté
    0
  7. cracs22 Messages postés 26 Statut Membre
     
    JE suis desole je n'ai pas compris ce que tu as voulu dire :x si tu pourrais me montrer directement depuis le code ou si tu connais un tuto qui l'explique je pense pouvoir y arriver ^^
    0
  8. le père
     
    Il faut commencer par le commencement.
    Personnellement, j'ai appris le PHP dans le manuel du PHP et mySQL dans le manuel mySQL, c'est ce qui me semblait le plus normal. Mais il semble que beaucoup de gens préfèrent ce genre de site :
    http://www.siteduzero.com/tutoriel-1-210-php.html
    0