mym*_*and 69 php mysql zend-framework zend-db
我有以下一段代码,我从模型中取出,
...
$select = $this->_db->select()
->from($this->_name)
->where('shipping=?',$type)
->where('customer_id=?',$userid);
echo $select; exit; // which gives exact mysql query.
.....
Run Code Online (Sandbox Code Playgroud)
当我在zend中使用更新查询时,
$up_value = array('billing'=> '0');
$this->update($up_value,'customer_id ='.$userid.' and address_id <> '.$data['address_Id']);
Run Code Online (Sandbox Code Playgroud)
在这里,我想知道确切的mysql查询.有没有办法在zend中打印mysql查询?好心劝告
Mar*_*yor 121
选择对象在Zend Framework中有一个__toString()方法.
来自Zend Framework手册:
$select = $db->select()
->from('products');
$sql = $select->__toString();
echo "$sql\n";
// The output is the string:
// SELECT * FROM "products"
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是使用Zend_Db_Profiler.即
$db->getProfiler()->setEnabled(true);
// your code
$this->update($up_value,'customer_id ='.$userid.' and address_id <> '.$data['address_Id']);
Zend_Debug::dump($db->getProfiler()->getLastQueryProfile()->getQuery());
Zend_Debug::dump($db->getProfiler()->getLastQueryProfile()->getQueryParams());
$db->getProfiler()->setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
http://framework.zend.com/manual/en/zend.db.select.html
Raj*_*wal 15
我已遍历了数百页,谷歌搜索了很多,但我还没有找到任何确切的解决方案.最后这对我有用.无论您在控制器或型号中的哪个位置.这段代码适用于我的每一个地方.只需使用它
//Before executing your query
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
$db->getProfiler()->setEnabled(true);
$profiler = $db->getProfiler();
// Execute your any of database query here like select, update, insert
//The code below must be after query execution
$query = $profiler->getLastQueryProfile();
$params = $query->getQueryParams();
$querystr = $query->getQuery();
foreach ($params as $par) {
$querystr = preg_replace('/\\?/', "'" . $par . "'", $querystr, 1);
}
echo $querystr;
Run Code Online (Sandbox Code Playgroud)
最后这件事对我有用.
您可以使用它Zend_Debug::Dump($select->assemble());来获取SQL查询.
或者您可以启用Zend DB FirePHP分析器,它将以Firebug中的整齐格式(甚至UPDATE语句)为您提供所有查询.
编辑:使用FirePHP进行性能分析也适用于FF6.0 +(不仅仅是在链接中建议的FF3.0中)
| 归档时间: |
|
| 查看次数: |
116396 次 |
| 最近记录: |