可能重複:
How to print exact sql query in zend framework ?在zend中,如何正確打印mysql查詢?
在Zend中探查,我只能是打印用的問題標記(getQuery)查詢或打印參數陣列(getQueryParams)。
有沒有辦法取代所有的問題標記,並打印真正的SQL查詢?
謝謝!
可能重複:
How to print exact sql query in zend framework ?在zend中,如何正確打印mysql查詢?
在Zend中探查,我只能是打印用的問題標記(getQuery)查詢或打印參數陣列(getQueryParams)。
有沒有辦法取代所有的問題標記,並打印真正的SQL查詢?
謝謝!
該框架使用準備好的語句,所以實際上這是真正的查詢 - 實際上它發送到數據庫解析它,然後params綁定到它並執行。
類似的東西應該工作:
$profile = $this->getQueryProfile($queryId);
$query = $profile->getQuery();
$params = $profile->getQueryParams();
foreach ($params as $par) {
$query = preg_replace('/\\?/', "'" . $par . "'", $query, 1);
}
可以使用__toString()
方法。
$dbTable = new Application_Model_DbTable_TradeshowBooking();
$select = $dbTable->select();
$select->setIntegrityCheck(false);
$select->where('ends_on + INTERVAL 4 WEEK > ? ', $requestParams['ends_on']);
Zend_Registry::get('logger')->log($select->__toString(), Zend_Log::INFO);
我也處於同樣的情況,我的值是「?」或值的數組格式,而不是在sql語句..有什麼辦法讓它像INSERT INTO'table'('','','')VALUES('','','') – Jay