Maison >développement back-end >tutoriel php >## Comment inspecter la requête réelle exécutée par PDO en PHP ?

## Comment inspecter la requête réelle exécutée par PDO en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 19:22:281019parcourir

##  How to Inspect the Actual Query Executed by PDO in PHP?

Comment inspecter la requête paramétrée en PHP avec PDO

Lors de l'utilisation de PDO pour l'accès à une base de données en PHP, l'utilisation de requêtes paramétrées améliore la sécurité en protégeant contre l'injection SQL. Cependant, il peut être difficile de vérifier la requête réelle exécutée par la base de données, car la requête avec les jetons et les paramètres est transmise séparément.

Récupération directe impossible

Comme Ben James explique qu'il n'existe pas de méthode directe pour obtenir la requête SQL complète côté PHP. En effet, la base de données reçoit la requête avec les jetons et les paramètres de manière indépendante et la requête réelle est assemblée dans la base de données. L'émulation du processus de remplacement côté PHP est également irréalisable en raison des variations dans les techniques de gestion des jetons et de liaison.

La journalisation comme solution de contournement

Pour inspecter la requête réelle exécutée sur la base de données, une solution de contournement consiste à enregistrer toutes les requêtes SQL. Dans MySQL, cela peut être réalisé en modifiant le fichier my.cnf (ou my.ini dans les environnements Windows) et en ajoutant une ligne comme :

log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Cependant, cela ne doit être utilisé qu'à des fins de débogage et non dans environnements de production pour éviter la dégradation des performances.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn