erreur insert en base

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur insert en base

par x@v » 09 févr. 2008, 20:06

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...

par Cyrano » 09 févr. 2008, 07:34

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.

par Invité » 09 févr. 2008, 02:32

Bonjour, je connais la syntaxe SQL, le problème c'est les apostrophes et guillemets.

par Jules Petibidon » 09 févr. 2008, 00:44

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.

erreur insert en base

par Invité » 09 févr. 2008, 00:25

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.