Bon, il m'arrive souvent de ne pas être trop certain des valeurs que je met dans mes requêtes. Avant, j'avais pour habitude de faire un echo $query, et de copier-coller ma requête dans PHPMyAdmin pour la débugger.
Mais avec PDO, je dois manuellement replacer toutes les variables que je bind dans la requête, vu que je n'arrive pas à afficher pleinement la requête.
En capturant une exception, j'arrive à avoir la partie en cause, mais sans plus.
Et PDO traite parfois les champs un peu étrangement.
Enfin bref, tout ceci pour vous dire que j'aimerais bien avoir la requête complète avec toutes les valeurs insérées à l'intérieure pour des fins de débuggage, mais je ne trouve aucune facon de faire ca.
Exemple de ce que j'aimerais:
Qui afficherait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $query = 'SELECT *' . ' FROM ' . CONFIG_DB_PREFIX . 'shop_item' . ' WHERE id=?' . ' LIMIT ?, ?;'; $prep = $db->prepare($query); $prep->bindValue(1, (int)$this->id); $prep->bindValue(2, (int)$startFrom); $prep->bindValue(3, (int)$lenght); $prep->execute(); echo $prep->query; //Cette ligne n'est pas possible/supportée.
Ce qui m'aurais permis ne pas perdre 1h de temps à me demander pourquoi mon LIMIT plantait à cause d'un bug dans la facon dont PDO traite les intergers !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM tt_shop_item WHERE id='1' LIMIT '1', '16';
Quelqu'un as-t'il une solution facile à implanter ?
Partager