使用 PHP ORM Doctrine 時,您可能需要檢查發送到資料庫的原始 SQL 以檢查其語法或最佳化其效能。然而, $q->getSQLQuery() 方法只會傳回準備好的語句,留下問號(?)而不是實際參數。
這樣做的原因是 Doctrine 使用準備好的語句,這增強資料庫安全性和效能。它將查詢過程分為兩個步驟:準備語句和傳送參數。 $query->getSql() 方法只傳回準備好的語句,而 $query->getParameters() 方法提供實際值。
因此,不存在「真正的」SQL 查詢PHP端,Doctrine無法顯示。相反,您必須使用從 $query->getParameters() 檢索的參數手動建立查詢,或使用 MySQL 的 EXPLAIN PLAN 等工具來追蹤查詢的執行。
以上是如何在 Doctrine 中查看實際的 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!