Problème de syntaxe

Résolu/Fermé
Fuji60 Messages postés 23 Date d'inscription jeudi 9 août 2012 Statut Membre Dernière intervention 8 juin 2014 - 13 août 2012 à 19:01
Fuji60 Messages postés 23 Date d'inscription jeudi 9 août 2012 Statut Membre Dernière intervention 8 juin 2014 - 14 août 2012 à 02:35
Bonjour a tous,
Ca fait depuis un moment que PHP m'affiche plusieurs erreurs sur une de mes syntaxes. J'ai essayer de cherché le problème, mais je ne l'ai pas trouvé. J'ai également essayé de changer la syntaxe mais des erreurs apparaissent encore et encore. Voici une partie du code :

<?php
$ids = array_keys($_SESSION['panier']);
$produits = $DB -> query("SELECT * FROM produits WHERE id IN (".implode(",",$ids).")");
foreach($produits as $produit):
?>

Et voici l'erreur :

Warning: PDOStatement::execute(): 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 ')' at line 1 in C:\wamp\www\Test\db.class.php on line 35

Merci d'avance :)

2 réponses

Utilisateur anonyme
13 août 2012 à 21:00
Bonjour

Pour diagnostiquer, vérifie quelle est la requête réellement exécutée :

$requete = "SELECT * FROM produits WHERE id IN (".implode(",",$ids).")";
echo $requete;
$produits = $DB -> query($requete);

Note que si tes $id ne sont pas numériques, il faut des ' ' autour de chacune des valeurs, et qu'il n'y en a pas avec ta méthode.
0
Fuji60 Messages postés 23 Date d'inscription jeudi 9 août 2012 Statut Membre Dernière intervention 8 juin 2014 1
14 août 2012 à 02:35
Merci Beaucoup !
Grâce a vous ca marche, merci beaucoup :D
0