2011-07-15 54 views

回答

2

該框架使用準備好的語句,所以實際上這是真正的查詢 - 實際上它發送到數據庫解析它,然後params綁定到它並執行。

+0

我也處於同樣的情況,我的值是「?」或值的數組格式,而不是在sql語句..有什麼辦法讓它像INSERT INTO'table'('','','')VALUES('','','') – Jay

3

類似的東西應該工作:

$profile = $this->getQueryProfile($queryId); 
$query = $profile->getQuery(); 
$params = $profile->getQueryParams(); 

     foreach ($params as $par) { 
      $query = preg_replace('/\\?/', "'" . $par . "'", $query, 1); 
     } 
2

可以使用__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);