Erreur de syntaxe mysql_query
Résolu/Fermé
MK-10
Messages postés
9
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
17 août 2012
-
16 août 2012 à 14:44
MK-10 Messages postés 9 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 17 août 2012 - 16 août 2012 à 23:27
MK-10 Messages postés 9 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 17 août 2012 - 16 août 2012 à 23:27
A voir également:
- Erreur de syntaxe mysql_query
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 3005 france tv - Forum TV & Vidéo
4 réponses
Utilisateur anonyme
16 août 2012 à 15:29
16 août 2012 à 15:29
Bonjour
Il te manque des ' ' autour de tes données :
Il te manque des ' ' autour de tes données :
$sql= "INSERT INTO colloque_membres VALUES ( '$_POST[status]','$_POST[nomfamille]', '$_POST[nom]', '$_POST[prenom]','$_POST[pays]','$_POST[nationalite]','$_POST[age]', '$_POST[sexe]','$_POST[statusfamille]','$_POST[mail]','$_POST[phone_portable]','$_POST[phone_fixe]','$_POST[adresse]') ";
MK-10
Messages postés
9
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
17 août 2012
3
16 août 2012 à 18:29
16 août 2012 à 18:29
Bonjour, merci pour votre intervention.
Ils ne manquaient pas, mais il y en avait de trop les ' '. A noter aussi, j'ai une colonne id qui s'auto incrémente, donc j'ai dû ajoute des ' ' au début des values.
:)
Nouvelle syntaxe:
Ils ne manquaient pas, mais il y en avait de trop les ' '. A noter aussi, j'ai une colonne id qui s'auto incrémente, donc j'ai dû ajoute des ' ' au début des values.
:)
Nouvelle syntaxe:
$sql= "INSERT INTO colloque_membres VALUES ( ' ', '$_POST[status]', '$_POST[nomfamille]', '$_POST[nom]', '$_POST[prenom]','$_POST[pays]', '$_POST[nationalite]','$_POST[age]','$_POST[sexe]','$_POST[statusfamille]', '$_POST[mail]','$_POST[phone_portable]','$_POST[phone_fixe]','$_POST[adresse]"); mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); mysql_close();
Si, ils manquaient. Les apostrophes qui figuraient dans ta ligne étaient des délimiteurs de chaîne du php, pas des délimiteurs de valeurs de mysql. D'ailleurs, ça se voyait bien dans ton message d'erreur :
au lieu de
Les ' ' qu'il y avait dans $_POST['status'], $_POST['nomfamille'] etc... n'étaient pas en trop dans ta manière d'écrire. Si je les ai retirés, c'est parce que je complètement changé la manière d'écrire la requête : tu concaténais une douzaine de morceaux de chaines entre simples quotes et de variables, j'ai tout écrit en une seule chaîne entre doubles quotes.
VALUES ( Intervenant, nomdefamille, xnom, xprenom,xpays, xnationalite,2012-08-31,Féminin,Divorcé,xmail@mail.fr,0300000000, 0100000000,x rue cp)
au lieu de
VALUES ( 'Intervenant', 'nomdefamille', 'xnom', 'xprenom','xpays', 'xnationalite','2012-08-31','Féminin','Divorcé','xmail@mail.fr','0300000000', '0100000000','x rue cp')
Les ' ' qu'il y avait dans $_POST['status'], $_POST['nomfamille'] etc... n'étaient pas en trop dans ta manière d'écrire. Si je les ai retirés, c'est parce que je complètement changé la manière d'écrire la requête : tu concaténais une douzaine de morceaux de chaines entre simples quotes et de variables, j'ai tout écrit en une seule chaîne entre doubles quotes.
alexiscv
Messages postés
2
Date d'inscription
jeudi 16 août 2012
Statut
Membre
Dernière intervention
16 août 2012
16 août 2012 à 20:08
16 août 2012 à 20:08
Salut MK-10 ,
En fait ça marche pas parce que tu doit spécifier les noms des colonnes dans ta requete. Sinon tu pourras pas associer une valeur à une colonne donnée.
Voici la correction :
$sql= "INSERT INTO colloque_membres(col_'' , col_status, col_nomfamille, col_nom ,col_prenom,col_pays,col_nationalite,col_age,col_sexe , etc etc)
VALUES ( ' ', '$_POST[status]', '$_POST[nomfamille]', '$_POST[nom]', '$_POST[prenom]','$_POST[pays]',
'$_POST[nationalite]','$_POST[age]','$_POST[sexe]','$_POST[statusfamille]',
'$_POST[mail]','$_POST[phone_portable]','$_POST[phone_fixe]','$_POST[adresse]");
Pour plus d'informations :http://dev.mysql.com/doc/refman/5.0/fr/insert.html?ff=nopfpls
cdt
En fait ça marche pas parce que tu doit spécifier les noms des colonnes dans ta requete. Sinon tu pourras pas associer une valeur à une colonne donnée.
Voici la correction :
$sql= "INSERT INTO colloque_membres(col_'' , col_status, col_nomfamille, col_nom ,col_prenom,col_pays,col_nationalite,col_age,col_sexe , etc etc)
VALUES ( ' ', '$_POST[status]', '$_POST[nomfamille]', '$_POST[nom]', '$_POST[prenom]','$_POST[pays]',
'$_POST[nationalite]','$_POST[age]','$_POST[sexe]','$_POST[statusfamille]',
'$_POST[mail]','$_POST[phone_portable]','$_POST[phone_fixe]','$_POST[adresse]");
Pour plus d'informations :http://dev.mysql.com/doc/refman/5.0/fr/insert.html?ff=nopfpls
cdt
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
16 août 2012 à 21:01
16 août 2012 à 21:01
Salut, juste une petite précision : tu n'as pas besoin de spécifier le nom de tes colonnes dans un insert si tu remplis tous les champs de ta table (et dans le bon ordre, bien entendu).
MK-10
Messages postés
9
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
17 août 2012
3
16 août 2012 à 23:27
16 août 2012 à 23:27
@le père Merci pour votre clarification, je viens de comprendre l'erreur suite a votre explication.
@Alexiscv merci, mais comme l'avait souligné flockocha ce n'était pas nécessaire et merci pour le lien.
merci a tous :)
@Alexiscv merci, mais comme l'avait souligné flockocha ce n'était pas nécessaire et merci pour le lien.
merci a tous :)