一尘不染

如何在Magento中打印所有查询?

mysql

是否可以在Magento中显示所有查询字符串?我真的很想看看执行了哪些查询。

谢谢


阅读 276

收藏
2020-05-17

共1个答案

一尘不染

我不是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情况)

2020-05-17