Détermination de la requête paramétrée SQL finale en PHP avec PDO
Pour les requêtes paramétrées en PHP avec PDO lors de l'accès à une base de données MySQL, obtention de la requête finale La requête SQL après la substitution de jeton peut être difficile. L'environnement PHP ne conserve pas la requête complète car il envoie la requête avec les jetons séparément des paramètres à la base de données.
Réponse 1 :
Comme Ben James l'a indiqué, extraire la requête finale côté PHP n'est pas réalisable. C'est du côté serveur que cette requête existe. Même les fonctions définies par l'utilisateur pour la substitution de jetons peuvent ne pas reproduire précisément le processus SQL en raison des nuances dans la gestion des jetons.
Réponse 2 :
Une solution de contournement suggérée par Kailash Badu implique enregistrer toutes les requêtes SQL pour observer l'exécution réelle de la base de données. Pour ce faire dans MySQL, mettez à jour le fichier my.cnf (my.ini pour les utilisateurs Windows) en ajoutant la ligne :
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]
Attention :
Ne pas utilisez cette approche dans les environnements de production car elle peut avoir un impact sur les performances et la sécurité.
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!