Page 1 sur 1

erreur insert en base

Posté : 09 févr. 2008, 00:25
par Invité
Voici mon erreur :

Code : Tout sélectionner

INSERT INTO vehicules(NULL, 'renault', 'diesel', '2000', '198000', 'radio dvd', '20000', 'bleu')

Code : Tout sélectionner

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 'NULL, 'renault', 'diesel', '2000', '198000', 'radio dvd', '20000', 'bleu')' at line 1
et le code :
$query = "INSERT INTO vehicules(NULL, ".
                    "'".$marque."', ".
                    "'".$moteur."', ".
                    "'".$annee."', ".
                    "'".$nbkm."', ".
                    "'".$equip."', ".
                    "'".$prix."', ".
                    "'".$couleur."')";
Surement un problème d'apostrophe à mon avis. J'arrive pas à comprendre comment sa marche.
Merci de l'aide.

Posté : 09 févr. 2008, 00:44
par Jules Petibidon
La bonne syntaxe est :

Code : Tout sélectionner

INSERT INTO table ( champ1, champ2... ) VALUES ( val1, val2... )
la liste des champs est facultative si ils sont tous utilisés.

un truc bien pratique pour préparer ses requêtes sans s'emmêler les pinceaux avec les guillemets et les concaténations est d'utiliser la fonction sprintf(), ça parait compliqué au début, mais une fois habitué, ça simplifie grandement la vie.

Posté : 09 févr. 2008, 02:32
par Invité
Bonjour, je connais la syntaxe SQL, le problème c'est les apostrophes et guillemets.

Posté : 09 févr. 2008, 07:34
par Cyrano
Bonjour, je connais la syntaxe SQL, le problème c'est les apostrophes et guillemets.
Tu réponds un peu vite et tu n'as pas correctement lu la réponse qui t'a été donnée. Ce n'est pas un problème d'apostrophe : tu as omis le mot clé "VALUES".

Donc on fait soit :

Code : Tout sélectionner

INSERT INTO ma_table(col1, col2,..., colx) VALUES (val1, val2,..., valx)
Soit :

Code : Tout sélectionner

INSERT INTO ma_table VALUES (val1, val2,..., valx)
Or ta requête actuelle ne contient pas ce mot clé : tu obtiens en retour un message indiquant une erreur de syntaxe.

Posté : 09 févr. 2008, 20:06
par x@v
très pédagogique la lecture de post, j'était en train de me demander si ce n'était pas un problème de type...
alors une coquille...