PHP/SQL Update de ma base

Fermé
Ktou - 30 sept. 2010 à 16:00
 args - 30 sept. 2010 à 18:30
Bonjour à tous!
Au risque de paraître simplet, je bloc depuis 2 jours sur un update de ma table... Je ne suis pas expert mais j'ai très largement parcouru les tutoriaux de ce site et d'autres, j'ai parcouru de nombreux forum, mais je trouve pas de solution...

Bon, je fais un site pour créer son blog (projet d'apprentissage perso ^^), là on est dans la partie ADMIN, et on veut permettre à l'utilisateur de pouvoir choisir si il veut afficher le menu ou non.
Ma table SQL est basique:
Table "menu"
Champs:"site" "catid" "orderid" "page" "nom" "nom_temporaire" "show"
Je voudrai donc "updater" (table "menu") mon champ "show" en y plaçant "yes" ou "no"... Facile!

if (isset($_POST['show']) != NULL)
   {
   $show = $_POST['show'];
   $requet = $bdd->prepare('UPDATE menu SET show = :show WHERE site = :site');
   $requet->execute(array('show'=>$show, 'site'=>$adresse)) or die(print_r($requet->errorInfo()));
   }


Ben ca devrait etre bon non?
Les variables ont été vérifiées plein de fois, les noms aussi, le probleme ne vient pas de là. J'ai egalement essayer la meme chose sur une autre table et ca marche bien (mais vous comprenez bien que j'en ai besoin ici ^^)

Le "or die" me renvoi: "Array ( [0] => 42000 [1] => 1064 [2] => 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 'show = 'no' WHERE site = 'alexendraetjean'' at line 1 ) 1"

Est-ce que quelqun aurai une idée sur l'erreur possible car la je n'ai plus d'idee?
A voir également:

1 réponse

Pratique parfois la notation objet mais il faut être à l'aise avec le reste^^

http://dev.mysql.com/doc/refman/5.0/fr/update.html

Je te conseille de décomposer ta requête à par pour faire des tests et trouver d'où vient l'erreur de syntaxe, si le probléme vient de l'array ( ce que je croit) pourquoi ne pas faire tout simplement un boucle, un peu plus lourd mais bon. Si c'est pour un seul update pourquoi utiliser un array?
0