Bonjour,

J'ai l'erreur SQL suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ':idProduct ORDER BY pri.record_date ' à la ligne 5
Lorsque j’exécute le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$list = array();
 
$req = Conf::Get()->DB->query('SELECT pro.id AS pro_id, pro.name AS pro_name, u.id AS u_id, u.name AS u_name, pro.image AS pro_image, pri.record_date AS pri_record_date, pri.value AS pri_value
			       FROM product pro 
			       JOIN unit u ON u.id = pro.unit
			       JOIN price pri ON pri.product = pro.id
			       WHERE pro.id = :idProduct
			       ORDER BY pri.record_date DESC');
$req->execute(array('idProduct' => $idProduct));
 
while ($reader = $req->fetch())
{
    array_push($list, Price::FromReader($reader));
}
 
$req->closeCursor();
 
return $list;
Je n'arrive pas à trouver ce qui cloche. Lorsque, dans la requête, je remplace :idProduct par la valeur du paramètre PHP (à savoir 7), la requête fonctionne.

J'ai vérifié la valeur du paramètre $idProduct et je reçois bien 7.

Arrivez-vous à trouver ce qui ne va pas ?

Pour info, je travail sous Wamp 3.0.6 64bit, Apache 2.4.23, PHP 5.6.25 et MySQL 5.7.14

Merci d'avance