"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je déterminer la requête SQL finale en PHP avec PDO après substitution de paramètres ?

Comment puis-je déterminer la requête SQL finale en PHP avec PDO après substitution de paramètres ?

Publié le 2024-11-07
Parcourir:715

How Can I Determine the Final SQL Query in PHP with PDO After Parameter Substitution?

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]

Caution :

N'utilisez pas cette approche dans les environnements de production car elle peut avoir un impact sur les performances et la sécurité.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3