Bonjour,
Je construits un site(local) de collection.
J’insère des éléments dans ma base de données via un formulaire. Tout va bien.
Par contre quand je fait une modification, j'ai une erreur SQl qui me dit erreur de syntaxe.
J'ai beau regarder, comparer je ne comprends pas ou est l'erreur.
Le code qui fonctionne:
et celle qui provoque l'erreur:
le message d'erreur:
Merci pour votre aide parce que là je ne vois pas(bon même si ça doit être gros)
Je construits un site(local) de collection.
J’insère des éléments dans ma base de données via un formulaire. Tout va bien.
Par contre quand je fait une modification, j'ai une erreur SQl qui me dit erreur de syntaxe.
J'ai beau regarder, comparer je ne comprends pas ou est l'erreur.
Le code qui fonctionne:
$q = $this->_bdd->prepare("[b]INSERT INTO[/b] timbre(referenceYT, pays, annee, categorie,serie, theme, valeurFaciale, surcharge,
couleur, dentelure, dimension, cotationNeuf, nombreNeuf, cotationOblitere, nombreOblitere, description, commentaire, image )
[b] VALUES[/b](:referenceYT, [langue]ays, :annee, :categorie,:serie, :theme, :valeurFaciale, :surcharge,
:couleur, :dentelure, :dimension, :cotationNeuf, :nombreNeuf, :cotationOblitere, :nombreOblitere, :description, :commentaire, :image)");
// $q->bindValue(':id_timbre', $timbre->id());
$q->bindValue(':referenceYT', $timbre->refYT());//, PDO::PARAM_INT);
$q->bindValue(':pays', $timbre->pays());//, PDO::PARAM_INT);
$q->bindValue(':annee', $timbre->annee());//, PDO::PARAM_INT);
$q->bindValue(':categorie', $timbre->categorie());//, PDO::PARAM_INT);
$q->bindValue(':serie', $timbre->serie());//, PDO::PARAM_INT);
$q->bindValue(':theme', $timbre->theme());//, PDO::PARAM_INT);
$q->bindValue(':valeurFaciale', $timbre->valfaciale());//, PDO::PARAM_INT);
$q->bindValue(':surcharge', $timbre->surcharge());//, PDO::PARAM_INT);
$q->bindValue(':couleur', $timbre->couleur());//, PDO::PARAM_INT);
$q->bindValue(':dentelure', $timbre->dentelure());//, PDO::PARAM_INT);
$q->bindValue(':dimension', $timbre->dimension());//, PDO::PARAM_INT);
$q->bindValue(':cotationNeuf', $timbre->coteneuf());//, PDO::PARAM_INT);
$q->bindValue(':nombreNeuf', $timbre->nbneuf());//, PDO::PARAM_INT);
$q->bindValue(':cotationOblitere', $timbre->coteoblit());//, PDO::PARAM_INT);
$q->bindValue(':nombreOblitere', $timbre->nboblit());//, PDO::PARAM_INT);
$q->bindValue(':description', $timbre->description());//, PDO::PARAM_INT);
$q->bindValue(':commentaire', $timbre->comment());//, PDO::PARAM_INT);
$q->bindValue(':image', $timbre->image());//, PDO::PARAM_INT);
$q->execute();
et celle qui provoque l'erreur:
$q = $this->_bdd->prepare("[b]UPDATE[/b] timbre
[b] SET[/b](pays =:pays,annee =:annee, categorie=:categorie,serie=:serie, theme=:theme,valeurFaciale =:valeurFaciale, surcharge=:surcharge,
couleur=:couleur, dentelure=:dentelure, dimension=:dimension, cotationNeuf=:cotationNeuf, nombreNeuf=:nombreNeuf, cotationOblitere=:cotationOblitere,
nombreOblitere=:nombreOblitere,description=:description, commentaire=:commentaire, image=:image)
[b] WHERE[/b] referenceYT = :referenceYT");
// $q->bindValue(':id_timbre', $timbre->id());
$q->bindValue(':referenceYT', $timbre->refYT());//, PDO::PARAM_INT);
$q->bindValue(':pays', $timbre->pays());//, PDO::PARAM_INT);
$q->bindValue(':annee', $timbre->annee());//, PDO::PARAM_INT);
$q->bindValue(':categorie', $timbre->categorie());//, PDO::PARAM_INT);
$q->bindValue(':serie', $timbre->serie());//, PDO::PARAM_INT);
$q->bindValue(':theme', $timbre->theme());//, PDO::PARAM_INT);
$q->bindValue(':valeurFaciale', $timbre->valfaciale());//, PDO::PARAM_INT);
$q->bindValue(':surcharge', $timbre->surcharge());//, PDO::PARAM_INT);
$q->bindValue(':couleur', $timbre->couleur());//, PDO::PARAM_INT);
$q->bindValue(':dentelure', $timbre->dentelure());//, PDO::PARAM_INT);
$q->bindValue(':dimension', $timbre->dimension());//, PDO::PARAM_INT);
$q->bindValue(':cotationNeuf', $timbre->coteneuf());//, PDO::PARAM_INT);
$q->bindValue(':nombreNeuf', $timbre->nbneuf());//, PDO::PARAM_INT);
$q->bindValue(':cotationOblitere', $timbre->coteoblit());//, PDO::PARAM_INT);
$q->bindValue(':nombreOblitere', $timbre->nboblit());//, PDO::PARAM_INT);
$q->bindValue(':description', $timbre->description());//, PDO::PARAM_INT);
$q->bindValue(':commentaire', $timbre->comment());//, PDO::PARAM_INT);
$q->bindValue(':image', $timbre->image());//, PDO::PARAM_INT);
$q->execute();
le message d'erreur:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de '(pays ='France',annee ='2015', categorie='Auto adhésif',serie='L\'art et la mat' à la ligne 2
Merci pour votre aide parce que là je ne vois pas(bon même si ça doit être gros)