Problème de syntaxe
Résolu
Fuji60
Messages postés
23
Statut
Membre
-
Fuji60 Messages postés 23 Statut Membre -
Fuji60 Messages postés 23 Statut Membre -
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 :)
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 :)
A voir également:
- Problème de syntaxe
- Trouver erreur de syntaxe fichier txt ✓ - Forum Python
- Trouver erreur de syntaxe fichier txt pix - Forum Autoit / batch
- Convertion .txt ------>.wtf HELP!!! ✓ - Forum Windows
- La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte - Forum Logiciels
- Syntaxe code puk orange - Guide
2 réponses
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.
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.