Mysql
 sql >> Base de données >  >> RDS >> Mysql

En PHP avec PDO, comment vérifier la requête paramétrée SQL finale ?

Je pense donc que je vais enfin répondre à ma propre question afin d'avoir une solution complète pour l'enregistrement. Mais je dois remercier Ben James et Kailash Badu qui ont fourni les indices pour cela.

Réponse courte
Comme mentionné par Ben James :NON .
La requête SQL complète n'existe pas côté PHP, car la requête avec jetons et les paramètres sont envoyés séparément à la base de données. La requête complète n'existe que côté base de données.

Même essayer de créer une fonction pour remplacer les jetons du côté PHP ne garantirait pas que le processus de remplacement soit le même que celui de SQL (trucs délicats comme type de jeton, bindValue vs bindParam, ...)

Solution
C'est ici que je développe la réponse de Kailash Badu.En enregistrant toutes les requêtes SQL, nous pouvons voir ce qui est réellement exécuté sur le serveur.Avec mySQL, cela peut être fait en mettant à jour le fichier my.cnf (ou my.ini dans mon cas avec le serveur Wamp), et en ajoutant une ligne comme :

log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Ne l'exécutez pas en production !!!