Erreur syntaxique dans une requette

Résolu/Fermé
glow_ivory Messages postés 18 Date d'inscription samedi 13 février 2010 Statut Membre Dernière intervention 3 juin 2012 - 8 oct. 2011 à 19:36
glow_ivory Messages postés 18 Date d'inscription samedi 13 février 2010 Statut Membre Dernière intervention 3 juin 2012 - 9 oct. 2011 à 12:15
Bonjour,

j'ai passé une demi journée en asseyent de résoudre un problème,qd je Click sur le bouton envoyer dans mon formulaire qui mène vers mon fichier php, MySQL m'affiche ce message d'erreur

SQLSTATE[42000]: Syntax error or access violation: 1064 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 'div,serv,proc,nature,prob,cause,cons,serv_aut,insatisf,att,autres,prop1,prop2,et' at line 1


voici le code php:

<?php
try
{
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=audit', 'root', '', $pdo_options);


$req = $bdd->prepare('INSERT INTO frap( div,serv,proc,nature,prob,cause,cons,serv_aut,insatisf,att,autres,prop1,prop2,etabli)
VALUES (:div, :serv, :proc, :nature :prob, :cause, :cons, :serv_aut, :insatisf, :att, :autres, :prop1, :prop2, :etabli)');
$req->execute(array(

'div'=> $_POST['division'],
'serv'=> $_POST['serv'],
'proc'=> $_POST['proc'],
'nature'=> $_POST['nature'],
'prob'=> $_POST['prob'],
'cause'=> $_POST['cause'],
'cons'=> $_POST['cons'],
'serv_aut'=> $_POST['serviceprob'],
'insatisf'=> $_POST['sujet'],
'att'=> $_POST['att'],
'autres'=> $_POST['autre'],
'prop1'=> $_POST['prop1'],
'prop2'=> $_POST['prop2'],
'etabli'=> $_POST['etabli']
));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
echo'la grille a été bien remplie';
?>

j'espère que quelqu'un pourra m'aider
merci d'avance

2 réponses

Vu

div est un mot réservé de mySQL. Si tu veux l'utiliser comme nom de champ, il faut l'entourer d'accents graves (ou apostrophe inversée, même touche que le 7 sur mon clavier). Je ne l'écris pas car ce signe apparaît comme une apostrophe normale sur ce site.
À mon humble avis, tu ferais mieux de changer le nom de ton champ pour ne pas utiliser de mot réservé.
1
glow_ivory Messages postés 18 Date d'inscription samedi 13 février 2010 Statut Membre Dernière intervention 3 juin 2012
9 oct. 2011 à 12:15
je vous remercie bcp,mnt mon probleme est resolu ,je suis tres contente :)
0
Bonsoir,

Bizarre, le message d'erreur. J'aurais plutôt dit qu'il manque une virgule entre :nature et :prob,
0
glow_ivory Messages postés 18 Date d'inscription samedi 13 février 2010 Statut Membre Dernière intervention 3 juin 2012
Modifié par glow_ivory le 9/10/2011 à 00:19
oups,merci bcp pour la remarque,mé mon proleme n'est pas encore resolu
0