Page 1 sur 1

insertion champs formulaire dans BDD

Posté : 10 mars 2016, 14:35
par bistaak
bonjour à tous

je suis en train de me remettre tout doucement au PHP après 10 ans de non pratique

j'ai crée plusieurs formulaire en fonction des réponse donner et sur le dernier j'aimerai pouvoir enregistrer les donnée dans une base de donnée. mais c'est la que vient l'erreur que je ne comprend pas :

Erreur SQL lINSERT INTO non conforme VALUES("", "$produit", "$date", "$commentaire")
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 'conforme VALUES("", "$produit", "$date", "$commentaire")' at line 1

je vous laisse mon code

Code : Tout sélectionner

<?php $base = mysql_connect ('localhost', 'root', '') or die ("erreur de connexion au serveur"); mysql_select_db ('commande', $base) or die ("erreur de connexion a la base de données"); //on recupere les donnée formulaire $produit = $_POST['produit']; $date = $_POST['date']; $commentaire = $_POST['commentaire']; //echo $produit, $date, $commentaire; //test des variable remplie if (isset($_POST['produit']) && isset($_POST['date']) && isset($_POST['commentaire'])){ //echo $produit, $date, $commentaire; // on prepare la requete pour inserer les champs dans la table $sql = 'INSERT INTO non conforme VALUES("", "$produit", "$date", "$commentaire")'; //echo $produit, $date, $commentaire; // on insert la requet mysql_query ($sql) or die ('Erreur SQL l'.$sql.'<br />'.mysql_error()); echo $produit, $date, $commentaire; } ?>
merci pour votre aide

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 14:51
par Ryle
Bonjour,

Il y a un problème dans le nom de ta table dans ta requête SQL. La syntaxe devrait être "INSERT INTO nomDeTaTable VALUES (...)" hors "non conforme" n'est pas un nom de table valide... au mieux "non_conforme" ou "non-conforme" ou un vrai nom de table en fonction de ce que tu as créé en base :)

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 14:57
par bistaak
merci pour ta réponse.

la table que j'avais crée ce nommais bien "non conforme" donc je doit mettre comme tu ma dit.

j'essaie de suite et je te redit

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 15:06
par bistaak
cela a fonctionner

jai mis une valeur ID dans ma table pour que quand il enregistre les donnée elle sois classer par ordre

mais lorsque l'enregistrement se fait la valeur est toujours 0

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 15:08
par Ryle
Je pense que tu dois pouvoir, avec les apostrophes spéciales de MySQL, mettre des caractères spéciaux dans tes noms de tables, du genre de l'espace, pour autant ça n'est absolument pas recommandé. Il vaut mieux effectivement se limiter à de l'alphanumérique (sans accents) et aux seuls caractères spéciaux - ou _

Du coup dans l'idéal, il vaut mieux renommer ta table en base en "non_conforme" et ajuster ta requête et ça fonctionnera mieux :)

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 15:11
par Ryle
Pour ta colonne ID, il faut soit que tu l'alimentes toi même, soit si tu veux une incrémentation automatique, utiliser l'option AUTO INCREMENT de MySQL. Ainsi à chaque nouvel enregistrement MySQL viendra alimenter cette colonne automatiquement en fonction de l'ID précédemment utilisé

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 15:17
par bistaak
meric bien pour les info je ne ferme pas le sujet parce que je n'est pas fini mon code il me reste 2 3 page a faire

Re: insertion champs formulaire dans BDD

Posté : 10 mars 2016, 16:16
par bistaak
jai terminer merci pour ont aide