可能性の重複:Zendのプロファイラで
How to print exact sql query in zend framework ?zendでは、mysqlクエリを正しく印刷する方法は?
、私はどちらかの質問マーカー(getQuery)でクエリを印刷したり、パラメータ配列(getQueryParams)を印刷することができます。
すべての疑問符を置き換えて、実際のSQLクエリを印刷する方法はありますか?
ありがとうございます!
可能性の重複:Zendのプロファイラで
How to print exact sql query in zend framework ?zendでは、mysqlクエリを正しく印刷する方法は?
、私はどちらかの質問マーカー(getQuery)でクエリを印刷したり、パラメータ配列(getQueryParams)を印刷することができます。
すべての疑問符を置き換えて、実際のSQLクエリを印刷する方法はありますか?
ありがとうございます!
フレームワークは準備済みのステートメントを使用しているので、実際はこれが実際のクエリです。実際にはデータベースに送信され、解析された後、パラメータがバインドされて実行されます。そのような
何か作業をする必要があります:
$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