Erreur mysql update
Résolu
bartimus37
Messages postés
193
Date d'inscription
Statut
Membre
Dernière intervention
-
bartimus37 Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
bartimus37 Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
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.
A voir également:
- Erreur mysql update
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Mysql community server - Télécharger - Bases de données
- Wsus offline update - Télécharger - Systèmes d'exploitation
6 réponses
Bizarre ton code, essaye ça :
ou si ton champs ID n'est pas de type nombre :
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 ;)
$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:
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.
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
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 :
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).
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 ...
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 ton
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">
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 ton
if ( $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">