如何在Magento中打印所有查询?
是否可以在 Magento 中显示所有查询字符串?我真的很想看看执行了哪些查询。
谢谢
是否可以在 Magento 中显示所有查询字符串?我真的很想看看执行了哪些查询。
谢谢
在Varien_Db_Adapter_Pdo_Mysql
Magento 1.4 : lib/varien/Db/Adapter/Pdo/Mysql.php
设置
protected $_debug = true;
protected $_logAllQueries = true;
和(如果也不存在)创建在
protected $_debugFile = 'var/debug/sql.txt';
授予读/写权限
我不是100%确定这会捕获每个查询,但大多数都通过查询方法运行Zend_Db_Adapter_Abstract
query
lib/Zend/Db/Adapter/Abstract.php
考虑到这一点,您可以暂时添加一些调试语句(为了安全起见,您可以将其添加到副本中)app/code/local/Mage
public function query($sql, $bind = array())
{
// connect to the database if needed
$this->_connect();
// is the $sql a Zend_Db_Select object?
if ($sql instanceof Zend_Db_Select) {
if (empty($bind)) {
$bind = $sql->getBind();
}
$sql = $sql->assemble();
}
echo "{$sql}\n<br />\n";
var_dump($bind);
如果您需要全部捕获它们,则最好在MySQL级别执行此操作(这并不总是可能的,具体取决于您的主机/IT情况)