Überprüfen der endgültigen parametrisierten Abfrage in PHP mit PDO
Wenn Sie mit PDO in PHP arbeiten, um eine Verbindung zu einer MySQL-Datenbank herzustellen, ist es manchmal notwendig, dies zu tun Überprüfen Sie die endgültige SQL-Abfrage, die ausgeführt wird. Die ursprüngliche Frage lautet: „Gibt es eine Möglichkeit zu überprüfen, was wirklich von der Datenbank ausgeführt wird?“
Kurze Antwort: Nein
Wie in der Antwort ausgeführt, Es gibt keine einfache Möglichkeit, die endgültige Abfrage auf der PHP-Seite abzurufen. Der Grund dafür ist, dass parametrisierte Abfragen in separaten Teilen an die Datenbank gesendet werden: der Abfrage selbst (mit Token) und den entsprechenden Parametern. Die endgültige Abfrage wird nur auf der Datenbankseite zusammengestellt und ausgeführt.
Problemumgehung: Abfrageprotokollierung
Obwohl ein direkter Abruf der endgültigen Abfrage nicht möglich ist, kann eine Problemumgehung möglich sein implementiert mittels Abfrageprotokollierung. Indem Sie die Konfigurationsdatei my.cnf (oder my.ini) so ändern, dass sie die folgende Zeile enthält:
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]
Alle auf dem Server ausgeführten SQL-Abfragen werden in der angegebenen Datei protokolliert. Beachten Sie, dass dies nur zu Debugzwecken und nicht in Produktionsumgebungen verwendet werden sollte.
Das obige ist der detaillierte Inhalt vonWie kann ich die endgültig ausgeführte SQL-Abfrage überprüfen, wenn ich PDO-parametrisierte Abfragen in PHP verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!