SQL syntax error dans fonction insert into
Résolu/Fermé
scarfesse
Messages postés
16
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
19 déc. 2007 à 12:38
scarfesse Messages postés 16 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 24 juin 2008 - 20 déc. 2007 à 18:05
scarfesse Messages postés 16 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 24 juin 2008 - 20 déc. 2007 à 18:05
A voir également:
- Insert into syntax error
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Pas de touche insert sur mon clavier - Forum Clavier
5 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 déc. 2007 à 17:36
20 déc. 2007 à 17:36
Bonjour,
Le problème vient du fait qu'un de tes noms de colonnes, « order », est un mot réservé en SQL !
Pour éviter ça, il faut lui mettre des apostrophes inversées : ` (symbole que tu trouves par la combinaison ([Alt Gr] + [7]), ou si tu n'y arrives pas, en copiant collant la caractère)
Donc ta requête devient :
Xavier
Le problème vient du fait qu'un de tes noms de colonnes, « order », est un mot réservé en SQL !
Pour éviter ça, il faut lui mettre des apostrophes inversées : ` (symbole que tu trouves par la combinaison ([Alt Gr] + [7]), ou si tu n'y arrives pas, en copiant collant la caractère)
Donc ta requête devient :
$query_insert = sprintf("INSERT INTO shop_line_order (`order`, article, price_ht, price_ttc, quantity, total_ht, total_ttc) VALUES (%s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($row_order['id'], "int"), GetSQLValueString($row_basket['article'], "int"), GetSQLValueString($row_basket['price_ht'], "double"), GetSQLValueString($row_basket['price_ttc'], "double"), GetSQLValueString($row_basket['Quantity'], "int"), GetSQLValueString($row_basket['total_ht'], "double"), GetSQLValueString($row_basket['total_ttc'], "double")); mysql_select_db($database_shop, $shop); $Result1 = mysql_query($query_insert, $shop) or die(mysql_error());En fait, tu peux même mettre ces ` autour de tous les noms de champ, c'est plus propre et évitera d'autres problèmes du même genre :)
Xavier
scarfesse
Messages postés
16
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
24 juin 2008
2
20 déc. 2007 à 18:05
20 déc. 2007 à 18:05
Super ça marche!!!
Merci beaucoup Xavier, ça fait deux semaines que je suis dessus!!!
Il faut que j'aille fêter ça...
Merci beaucoup Xavier, ça fait deux semaines que je suis dessus!!!
Il faut que j'aille fêter ça...
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
19 déc. 2007 à 14:23
19 déc. 2007 à 14:23
Bonjour,
Tu pourrais nous donner le message d'erreur ?
Et si tu fais
echo $query_insert;
ça donne quoi ?
Xavier
Tu pourrais nous donner le message d'erreur ?
Et si tu fais
echo $query_insert;
ça donne quoi ?
Xavier
scarfesse
Messages postés
16
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
24 juin 2008
2
20 déc. 2007 à 16:18
20 déc. 2007 à 16:18
Salut Reivax962,
J'ai rajouté la fonction echo
Il m'a donné des valeurs qui étaient entre ', et d'autre non.
Ca venait de la fonction getSQLvaluestring.
Je sais pas si il les faut ou pas. je viens d'essayer sans. Ca ne marche pas. Je vais essayer d'en rajouter aux valeurs qui n'en ont pas pour voir.
Sinon le message d'erreur est le suivent
INSERT INTO shop_line_order (order, article, price_ht, price_ttc, quantity, total_ht, total_ttc) VALUES (169, 6, 233, 279, 1, 233, 279)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 'order, article, price_ht, price_ttc, quantity, total_ht, total_ttc) VALUES (169,' at line 2
Merci pour l'aide
J'ai rajouté la fonction echo
Il m'a donné des valeurs qui étaient entre ', et d'autre non.
Ca venait de la fonction getSQLvaluestring.
Je sais pas si il les faut ou pas. je viens d'essayer sans. Ca ne marche pas. Je vais essayer d'en rajouter aux valeurs qui n'en ont pas pour voir.
Sinon le message d'erreur est le suivent
INSERT INTO shop_line_order (order, article, price_ht, price_ttc, quantity, total_ht, total_ttc) VALUES (169, 6, 233, 279, 1, 233, 279)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 'order, article, price_ht, price_ttc, quantity, total_ht, total_ttc) VALUES (169,' at line 2
Merci pour l'aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
scarfesse
Messages postés
16
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
24 juin 2008
2
20 déc. 2007 à 16:20
20 déc. 2007 à 16:20
Meme problème en rajouter des quotes partout!!