Heim > Datenbank > MySQL-Tutorial > Wie kann ich die „echte' SQL-Abfrage in Doctrine sehen, wenn sie vorbereitete Anweisungen verwendet?

Wie kann ich die „echte' SQL-Abfrage in Doctrine sehen, wenn sie vorbereitete Anweisungen verwendet?

DDD
Freigeben: 2024-10-31 03:49:30
Original
1052 Leute haben es durchsucht

How Can I See the

Hidden SQL mit Doctrine erkunden: Entdecken Sie die Geheimnisse der vorbereiteten Aussage

Angenommen, Sie arbeiten mit Doctrine und haben sorgfältig eine Abfrage wie diese erstellt:

$q = Doctrine_Query::create()->select('id')->from('MyTable');
Nach dem Login kopieren

Wenn Sie nun Ihre Abfrage mit Bedingungen verfeinern, wie zum Beispiel:

$q->where('normalisedname = ? OR name = ?', array($string, $originalString));
Nach dem Login kopieren

Sie möchten unbedingt die Roh-SQL vor der Ausführung untersuchen. Sie rufen also an:

$q->getSQLQuery();
Nach dem Login kopieren

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:

  • Senden der vorbereiteten Anweisung zur Vorbereitung
  • Separate Übergabe von Parametern
  • Ausführen der vorbereiteten Anweisung

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage