Problème de syntaxe

Résolu
Fuji60 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
Fuji60 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -
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
 
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   Statut Membre Dernière intervention   1
 
Merci Beaucoup !
Grâce a vous ca marche, merci beaucoup :D
0