Bonjour,
Suivant un tuto pour apprendre le php+mysql (interface mysqli), j'en suis à essayer de créer un système de pagination de billets de blog.
Pour ce faire, j'utilise la requête suivante :
Et j’obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $tickets = $bdd->prepare('SELECT *, DATE_FORMAT(date_creation, \' le %d-%m-%Y à %H:%i:%s\') AS fdate FROM billets ORDER BY date_creation DESC LIMIT ?,5'); $tickets->execute(array(($page-1)*5));
J'obtient la même erreur lorsque j'essaie d'utiliser un marquer nommé à la place du ? dans la préparation de la requête.SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''0',5' at line 1
A noter que lorsque j'essaie cette même requête avec la mauvaise façon (fonction query en concaténant la chaîne de requête à la variable php), cela fonctionne correctement. Je n'ai l'erreur que lorsque j'essaie de préparer la requête.
D'après ce que je peux voir du message d'erreur, il semblerait que le problème vienne d’apostrophes ajoutées autour de la valeur numérique par la fonction execute(). J'ai effectivement la même erreur lorsque j'utilise :
Comment puis-je faire pour paramétrer correctement cette clause LIMIT ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tickets->execute(array(0));
Partager