Erreur mysql update
Résolu
bartimus37
Messages postés
301
Statut
Membre
-
bartimus37 Messages postés 301 Statut Membre -
bartimus37 Messages postés 301 Statut Membre -
Bonjours, j'ai un problème avec mysql update :
Erreur SQL !mysql_query("UPDATE news SET reponse=réponse de test WHERE id=\'.$nid.\'");
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 'mysql_query("UPDATE news SET reponse=réponse de test WHERE id=\'.$nid.\'")' at line 1
Voici le code :
page de code complète : https://pastebin.com/DMwgZPDy
Le fichier config.php en include_once contient la connexion a la base de donné .
Merci de vos réponse.
Erreur SQL !mysql_query("UPDATE news SET reponse=réponse de test WHERE id=\'.$nid.\'");
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 'mysql_query("UPDATE news SET reponse=réponse de test WHERE id=\'.$nid.\'")' at line 1
Voici le code :
$nid= $_GET['id'];
$rep = $_POST['reponse'];
$sql = 'mysql_query("UPDATE news SET reponse='.$rep.' WHERE id='.$nid.'");';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
page de code complète : https://pastebin.com/DMwgZPDy
Le fichier config.php en include_once contient la connexion a la base de donné .
Merci de vos réponse.
6 réponses
-
Bizarre ton code, essaye ça :
$sql = "UPDATE news SET reponse='".$rep."' WHERE id=".$nid."";
ou si ton champs ID n'est pas de type nombre :$sql = "UPDATE news SET reponse='".$rep."' WHERE id='".$nid."'";
Comme le dis "gardiendelanuit", ce n'est pas bon de concaténer les variables directement dans les requêtes.
De plus, le mysql est obsolète depuis quelques années. privilégie mysqli ou PDO dorénavant ;) -
Bonjour,
Il faut rajouter des magiques quotes pour les values de la requête surtout pour les chaînes de caractères:
$sql = mysql_query("UPDATE news SET reponse=\''.$rep.\'' WHERE id=\''.$nid.'\'");';
EDIT: mysql query est une fonction et tu la met dans ta string??
Merci de mettre "Résolu" quand le problème est réglé!
La connaissance c'est comme la confiture: moins on en a et plus on l'étale. -
Salut,
C'est une bonne idée de mette le code sur pastebin.
Mais tu peux l'indenter correctement stp la prochaine fois ?
Je viens de passer 5 minutes à le faire pour le lire correctement.
Donc<INPUT TYPE=HIDDEN NAME=id VALUE=<?$_GET['id']?>>
Inutile de le mettre dans un <TD>, ça fait un espace vide dedans, mets le juste en dessous de ton <form>. Et écris le plutôt comme ça :<INPUT TYPE="HIDDEN" NAME="id" VALUE="<?php $_GET['id'] ?>" />
Ensuite, tu as une balise <td> en trop juste avant <td align="right">
Pour finir, sur ton dernier if, tu ferme l'accolade après $erreur; mais tu ne l'ouvre pas (accolade que tu ne mets pas dans ton premier if d'ailleurs). -
j'ai fait tout ce que tu m'a dit : https://pastebin.com/HQxYgF1C
mais ça ne fonctionne pas : Parse error: syntax error, unexpected $end
in reponse.php on line 38 .
C'est le dernier if ... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
L'indentation n'est pas ton fort on dirait ^_^
Mais c'est déjà beaucoup mieux, merci pour l'effort.
J'ai pas le temps de regarder en détail se soir, mais je vois déjà que tonif ( $pseudo =='admin') {
n'est pas fermé.
Ensuite, tu as oublié un double quote dans ton form :
<form action="reponse.php method="post">
au lieu de
<form action="reponse.php" method="post"> -
Il n'y a plus aucune erreur mais l'id ne s'affiche pas ...
https://pastebin.com/qyjUzZ8e