2014-12-13 67 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