Requête SQL - Problème enregistrement données

Résolu/Fermé
Jacksons69 Messages postés 10 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 27 janvier 2017 - 13 mars 2015 à 00:52
Jacksons69 Messages postés 10 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 27 janvier 2017 - 14 mars 2015 à 00:15
Bonjour,

Je rencontre un problème avec ma requête SQL. Les données s'enregistrent avec un champ de décalage.

J'ai une table avec les champs suivants :

1. id
2. prénom > varchar 255
3. mail > varchar 255
4. naissance > varchar 255
5. question > Text
6. date-inscription > DateTime

Le problème, après envoi du formulaire, c'est que le champ "prénom" reste vide.

Du coup, le prénom va s'enregistrer dans le champ mail, le mail dans le champ naissance, la naissance dans le champ question, etc.

Ci-dessous ma requête sachant que :

- Il manque une virgule après "$question" dans les values. Quand je la rajoute, plus rien ne s'enregistre.

- Je pensais que le problème venait des deux guillemets vides au début des "VALUES" mais quand je les supprimes là aussi rien ne s'enregistre.

 $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
$naissance = mysql_real_escape_string(htmlspecialchars($_POST['naissance']));
$question = mysql_real_escape_string(htmlspecialchars($_POST['question']));
$date = date_create()->format('Y-m-d H:i:s');

mysql_query("INSERT INTO `inscriptions`(`prenom`, `mail`, `naissance`, `question`, `date-inscription`)VALUES('', '" . $prenom . "', ' " . $mail ."' '', '" . $naissance . "', '" . $question . "' '" . $date . "')");


Merci d'avance pour votre aide.

2 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 153
13 mars 2015 à 08:35
Bonjour,

Bien sur que les 2 cotes en début ne sont pas a mettre.
dans le INSERT inscription (champ1, champ2...) VALUES (valchamp1, valChamp2...)
L'ordre est important. je vois aussi plusieurs problèmes avec les espaces
Essayez :
mysql_query("INSERT INTO `inscriptions`(`prenom`, `mail`, `naissance`, `question`, `date-inscription`) VALUES ('".$prenom."','".$mail."','".$naissance."','".$question."','".$date."')");


Cordialement
0
Jacksons69 Messages postés 10 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 27 janvier 2017
14 mars 2015 à 00:15
Merci beaucoup, tout marche parfaitement ! Une connerie d'espace et de guillemets j'en étais sûr grrr !

Merci encore :)
0