Problème Update SQL
cracs22
Messages postés
26
Statut
Membre
-
le père -
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
inscrit_saisir.php
Merci
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
-
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 ! -
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 -
Ç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 "; -
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... -
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é -
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 ^^
-
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