[ SQL ] Erreur de syntaxe
JEY
-
le père -
le père -
Bonjour,
j'obtiens le message:
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 ' , "0", "0" )' at line 1
avec ce code:
Je ne comprend pas ...
j'obtiens le message:
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 ' , "0", "0" )' at line 1
avec ce code:
$sql = 'INSERT INTO faisvoter_formulaires VALUES("", '.$titre1.', '.$titre2.', '.$photo1.', '.$photos2.', "0", "0" )';
mysql_query($sql) or die(mysql_error()) ;
Je ne comprend pas ...
A voir également:
- [ SQL ] Erreur de syntaxe
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur upes 1025 - Forum Téléviseurs
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
3 réponses
Bonjour
Je serais tenté de dire que comme ça a l'air correct, c'est sans doute $photos2 qui ne lui plaît pas. Vide sans doute
Mais quand tu auras réglé ce point là , tu tomberas sur un autre problèmes, tes valeurs devraient être entourées de " ou de ', ce qui n'est pas le cas (fais echo $sql pour t'en persuader) . Tu ferais mieux d'écrire
$sql = "INSERT INTO faisvoter_formulaires VALUES('','$titre1', '$titre2', '$photo1', '$photos2', '0', '0' )";
( note que j'ai inversé le rôle des ' et des ", ce qui n'était pas obligatoire, mais tellement plus simple à lire et à écrire. Ça évite tous les points de concaténation)
Je serais tenté de dire que comme ça a l'air correct, c'est sans doute $photos2 qui ne lui plaît pas. Vide sans doute
Mais quand tu auras réglé ce point là , tu tomberas sur un autre problèmes, tes valeurs devraient être entourées de " ou de ', ce qui n'est pas le cas (fais echo $sql pour t'en persuader) . Tu ferais mieux d'écrire
$sql = "INSERT INTO faisvoter_formulaires VALUES('','$titre1', '$titre2', '$photo1', '$photos2', '0', '0' )";
( note que j'ai inversé le rôle des ' et des ", ce qui n'était pas obligatoire, mais tellement plus simple à lire et à écrire. Ça évite tous les points de concaténation)
J'ai une question: Quel est la différence entre les " " et les ' ' ?
Merci
C'est une bonne question. C'est le B.A. BA du PHP et malgré ça, on trouve 90% des gens qui se prennent les pieds dans le tapis avec. Ou qui s'en tiennent l'utilisation exclusive de l'un ou de l'autre pour des raisons quasi-religieuses.
Le détail technique est là pour chacune des façons d'écrire une chaîne :
https://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.single
https://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.double
Pour faire court : dans une chaîne entre " et ", les variables PHP ($variable) sont remplacées par leur valeur. Alors que dans une chaine entre ' et ', les variables ne sont pas interprétées.
essaye :
Si tu veux mettre un " dans une chaîne entre " et ", il faut le précéder de \. Mais pas besoin de \ pour les ' : echo "'\"'";
Si tu veux mettre un ' dans une chaîne entre ' et ', il faut le précéder de \. Mais pas besoin de \ pour les " : echo '"\'"';
En espérant que je ne me suis pas trop planté dans les ' et les " !