Problème Update SQL

Fermé
cracs22 Messages postés 24 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 12 août 2012 - Modifié par cracs22 le 21/04/2011 à 17:33
 le père - 23 avril 2011 à 22:21
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


A voir également:

7 réponses

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
cracs22 Messages postés 24 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 12 août 2012
Modifié par cracs22 le 21/04/2011 à 18:07
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
Ç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
cracs22 Messages postés 24 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 12 août 2012
Modifié par cracs22 le 21/04/2011 à 19:12
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
cracs22 Messages postés 24 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 12 août 2012
23 avril 2011 à 18:33
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
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