Petit soucis de Requête SQL invalide??

WRInaute passionné
Bonjour,

J'essaye d'enregistrer les données d'un formulaire en bd mais j'ai le droit au traditionnelle message d'erreur :
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 'READ VALUES( '', 'Gastro', 'Entérite', '0123456789', [email='intestinal@free.fr]'intestinal@free.fr[/email]', 'pas ' at line 1

Habituellement je trouve la raison .. mais là, je sèche complètement :? !
Je fais des testes sur cette page -http://creer.ton.site.free.fr/html/devis.php et je ne comprend pas d'où vient l'erreur.

Structure de la table nommé READ:
Code:
  `ID` int(11) NOT NULL auto_increment,
  `NOM` text collate latin1_general_ci NOT NULL,
  `PRENOM` text collate latin1_general_ci NOT NULL,
  `TELEPHONE` text collate latin1_general_ci NOT NULL,
  `EMAIL` text collate latin1_general_ci NOT NULL,
  `ADRESSE` text collate latin1_general_ci NOT NULL,
  `CODE_POSTAL` text collate latin1_general_ci NOT NULL,
  `VILLE` text collate latin1_general_ci NOT NULL,
  `MARQUE` text collate latin1_general_ci NOT NULL,
  `MODELE` text collate latin1_general_ci NOT NULL,
  `ANNEE` text collate latin1_general_ci NOT NULL,
  `TYPE` text collate latin1_general_ci NOT NULL,
  `NRJ` text collate latin1_general_ci NOT NULL,
  `CONTROLE_TECHNIQUE` text collate latin1_general_ci NOT NULL,
  `REPARATION` text collate latin1_general_ci NOT NULL,
  `ENTRETIEN` text collate latin1_general_ci NOT NULL,
  `CONTROLE` text collate latin1_general_ci NOT NULL,
  `COURROIE_DISTRIBUTION` text collate latin1_general_ci NOT NULL,
  `COURROIE_ALTERNATEUR` text collate latin1_general_ci NOT NULL,
  `COURROIE_ASSISTANCES` text collate latin1_general_ci NOT NULL,
  `FREINS_PLAQUETTES_AVANT` text collate latin1_general_ci NOT NULL,
  `FREINS_DISQUES_AVANT` text collate latin1_general_ci NOT NULL,
  `FREINS_PLAQUETTES_ARRIERE` text collate latin1_general_ci NOT NULL,
  `FREINS_DISQUES_ARRIERE` text collate latin1_general_ci NOT NULL,
  `FILTRE_AIR` text collate latin1_general_ci NOT NULL,
  `FILTRE_CARBURANT` text collate latin1_general_ci NOT NULL,
  `DURITE_RADIATEUR` text collate latin1_general_ci NOT NULL,
  `DURITE_CHAUFFAGE` text collate latin1_general_ci NOT NULL,
  `DURITE_CARBURANT` text collate latin1_general_ci NOT NULL,
  `DURITE_ASSISTANCE` text collate latin1_general_ci NOT NULL,
  `RETROVISEUR_DROITE` text collate latin1_general_ci NOT NULL,
  `RETROVISEUR_GAUCHE` text collate latin1_general_ci NOT NULL,
  `RETROVISEUR_NEUF` text collate latin1_general_ci NOT NULL,
  `RETROVISEUR_OCCASION` text collate latin1_general_ci NOT NULL,
  `ESSUIE_GLACES_AVANT` text collate latin1_general_ci NOT NULL,
  `ESSUIE_GLACES_ARRIERE` text collate latin1_general_ci NOT NULL,
  `VITRE_LATERAL_AVANT` text collate latin1_general_ci NOT NULL,
  `VITRE_LATERAL_ARRIERE` text collate latin1_general_ci NOT NULL,
  `VITRE_LATERAL_GAUCHE` text collate latin1_general_ci NOT NULL,
  `VITRE_LATERAL_DROITE` text collate latin1_general_ci NOT NULL,
  `VITRE_LATERAL_NEUF` text collate latin1_general_ci NOT NULL,
  `VITRE_LATERAL_OCCASION` text collate latin1_general_ci NOT NULL,
  `PARE_BRISE` text collate latin1_general_ci NOT NULL,
  `TRAVAUX_DIVERS` text collate latin1_general_ci NOT NULL,
  `DATE` date NOT NULL,

La partie enregistrement:
Code:
$result = mysql_query("INSERT INTO READ VALUES(
'',
'".mysql_real_escape_string($nom)."',
'".mysql_real_escape_string($prenom)."',
'".mysql_real_escape_string($telephone)."',
'".mysql_real_escape_string($email)."',
'".mysql_real_escape_string($adresse)."',
'".mysql_real_escape_string($postal_code)."',
'".mysql_real_escape_string($ville)."',
'".mysql_real_escape_string($marque)."',
'".mysql_real_escape_string($modele)."',
'".mysql_real_escape_string($annee)."',
'".mysql_real_escape_string($type)."',
'".mysql_real_escape_string($nrj)."',
'".mysql_real_escape_string($controle_technique)."',
'".mysql_real_escape_string($reparation)."',
'".mysql_real_escape_string($entretien)."',
'".mysql_real_escape_string($controle)."',
'".mysql_real_escape_string($courroie_distibution)."',
'".mysql_real_escape_string($courroie_alternateur)."',
'".mysql_real_escape_string($courroie_assistances)."',
'".mysql_real_escape_string($freins_plaquettes_avant)."',
'".mysql_real_escape_string($freins_disques_avant)."',
'".mysql_real_escape_string($freins_plaquettes_arriere)."',
'".mysql_real_escape_string($freins_disques_arriere)."',
'".mysql_real_escape_string($filtre_air)."',
'".mysql_real_escape_string($filtre_carburant)."',
'".mysql_real_escape_string($durite_radiateur)."',
'".mysql_real_escape_string($durite_chauffage)."',
'".mysql_real_escape_string($durite_carburant)."',
'".mysql_real_escape_string($durite_assistance)."',
'".mysql_real_escape_string($retroviseur_droite)."',
'".mysql_real_escape_string($retroviseur_gauche)."',
'".mysql_real_escape_string($retroviseur_neuf)."',
'".mysql_real_escape_string($retroviseur_occasion)."',
'".mysql_real_escape_string($essuie_glaces_avant)."',
'".mysql_real_escape_string($essuie_glaces_arriere)."',
'".mysql_real_escape_string($vitres_lateral_avant)."',
'".mysql_real_escape_string($vitres_lateral_arriere)."',
'".mysql_real_escape_string($vitres_lateral_gauche)."',
'".mysql_real_escape_string($vitres_lateral_droite)."',
'".mysql_real_escape_string($vitres_lateral_neuf)."',
'".mysql_real_escape_string($vitres_lateral_occasion)."',
'".mysql_real_escape_string($pare_brise)."',
'".mysql_real_escape_string($travaux_divers)."',
'$date'
)
");
Tout les champs du formulaire son traité de la façon suivant :
Code:
$nom = htmlspecialchars(stripcslashes(trim($_POST["nom"])));

Mon erreur est peut être grossière mais comme je ne vois pas d'où elle vient, un petit coup de main serait le bienvenue ^^.

Merci
 
WRInaute accro
"read" est un mot réservé, tu ne peux pas l'utiliser si tu ne le quotes pas (avec des ` en mysql).

Mon conseil perso: change le nom de ta table pour utiliser un mot qui n'est pas réservé.

Jacques.
 
WRInaute accro
READ doit être une fonction réservée à MySql. A mon avis, change ce nom de table...

EDIT : grillé. Mais d'accord avec Jacques ;)
 
WRInaute passionné
Merci à tous et c'est effectivement le nom de ma table qui clochait. Une demie journée de "bouffé" juste pour un nom de table..les boules ^^!
 
Discussions similaires
Haut