2014-12-13 80 views
0

我遇到了某些MySQL查询的麻烦。在试图修复它时,我需要找出哪些文件准确创建了这些查询。有没有办法在MySQL日志文件或通过其他更简单的方式看到这个?我怎样才能看到什么脚本发起了特定的mysql查询

我能看到的唯一情况是时间,用户和查询本身,但不是哪个脚本启动了这个查询。这正是我想要发现的。

回答

0

我发现这个班可以帮助你达到目的。

class LoggerPDO extends PDO 
{ 
    function query() 
    { 
     return $this->logger('query', func_get_args()); 
    } 

    private function logger($method, $args) 
    { 
     // log query 
     debug_print_backtrace(); 
     // push to parent 
     return call_user_func_array(array($this, 'parent::' . $method), $args); 
    } 
} 
+0

有用,但不幸的是我不能实现它,如果我不知道创建问题的文件。我试图调试一个不是我自己编写的程序。它有大约1000个文件,我不知道他们中的哪些创建了我遇到的错误查询。任何其他想法? – koljanep 2014-12-13 18:01:20

+0

顺便说一句,我发现这篇文章可以帮助,即时通讯不知道,因为即时通讯在现在的东西,但看看它:http://dev.mysql.com/tech-resources/articles/getting_started_dtrace_saha.html – Verhaeren 2014-12-13 18:06:05