Angenommen, Sie arbeiten mit Doctrine und haben sorgfältig eine Abfrage wie diese erstellt:
$q = Doctrine_Query::create()->select('id')->from('MyTable');
Wenn Sie nun Ihre Abfrage mit Bedingungen verfeinern, wie zum Beispiel:
$q->where('normalisedname = ? OR name = ?', array($string, $originalString));
Sie möchten unbedingt die Roh-SQL vor der Ausführung untersuchen. Sie rufen also an:
$q->getSQLQuery();
Aber leider ist es nicht das, was Sie erwartet haben – es ist eine vorbereitete Erklärung mit Fragezeichen. Sie möchten sehen, was an die Datenbank gesendet wird.
Nun, hier ist die Wahrheit: Doctrine sendet kein „echtes“ SQL an den Datenbankserver. Es verwendet vorbereitete Anweisungen, ein dreistufiger Prozess:
Das bedeutet, dass es nie eine „echte“ SQL-Abfrage auf der PHP-Seite gibt – Doctrine kann sie also nicht anzeigen.
Das obige ist der detaillierte Inhalt vonWie kann ich die „echte' SQL-Abfrage in Doctrine sehen, wenn sie vorbereitete Anweisungen verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!