Vérification de la requête paramétrée finale en PHP avec PDO
Lorsque vous travaillez avec PDO en PHP pour vous connecter à une base de données MySQL, il devient parfois nécessaire de vérifiez la requête SQL finale qui sera exécutée. La question d'origine demande : « Existe-t-il un moyen de vérifier ce qui est réellement exécuté par la base de données ? »
Réponse courte : non
Comme indiqué dans la réponse, il n'existe aucun moyen simple de récupérer la requête finale du côté PHP. La raison en est que les requêtes paramétrées sont envoyées à la base de données en parties distinctes : la requête elle-même (avec les jetons) et les paramètres correspondants. La requête finale est assemblée et exécutée uniquement côté base de données.
Solution de contournement : journalisation des requêtes
Bien que la récupération directe de la requête finale ne soit pas possible, une solution de contournement peut être implémenté à l’aide de la journalisation des requêtes. En modifiant le fichier de configuration my.cnf (ou my.ini) pour inclure la ligne suivante :
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]
Toutes les requêtes SQL exécutées sur le serveur seront journalisées dans le fichier spécifié. Notez que cela ne doit être utilisé qu'à des fins de débogage et ne doit pas être utilisé dans des environnements de production.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!