2014-03-31 168 views
0

我有一個mysqli_query認爲是這樣的:mysqli_query()錯誤日誌

$result = mysqli_query($db, "INSERT INTO device(`Identifier`, `IsAllowedToPost`) 
VALUES('ABC123', 0)") or die(error_log(mysqli_error($db), 3, "php_error.log")); 

它不工作和日誌,以告訴我,「1」,「0」或沒有取決於我嘗試哪種方法用錯誤記錄錯誤。我怎樣才能獲得更好的錯誤信息來登錄我的文件?我不知道0或1是什麼意思。

當前的代碼在我的文件中根本沒有提供任何錯誤消息,測試數據也沒有存儲在數據庫中。

回答

1

改變你這樣的代碼

ini_set('log_errors',1); 
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
mysqli_connect(credentials); 
... 
$result = mysqli_query($db, "INSERT INTO device(`Identifier`, `IsAllowedToPost`) 
VALUES('ABC123', 0)"); 

和PHP錯誤日誌看你的mysql的錯誤。

你寫的代碼遭受了一些錯誤的前提。

  1. 你顯然需要記錄你的代碼中發生的所有錯誤,不僅僅是mysql相關的錯誤。這種分離沒有意義。所以,你需要一個通用的日誌。
  2. 您不需要爲每個查詢編寫不同的代碼。 Mysqli很聰明,可以自動提出錯誤。
  3. 根據目錄結構,設置具有相對路徑的錯誤日誌文件將導致多個日誌。