2012-02-19 62 views
0

我希望我的PHP腳本隱藏由mysqli對象生成的任何錯誤,但顯示其他任何錯誤。有沒有辦法在PHP中做到這一點?不顯示mysqli錯誤

+0

HTTP ://php.net/manual/en/language.operators.errorcontrol.php請注意,對於最佳實踐,由於文檔頁面上紅色框中提到的原因,不推薦使用'@'。 – 2012-02-19 01:41:45

+0

[如何隱藏錯誤消息]的可能重複(http://stackoverflow.com/questions/2471471/how-to-hide-an-error-message) – 2012-02-19 01:43:11

+0

我不想通過我的代碼,並把每個涉及'mysqli'的語句前都有一個'@'。在編寫我自己的錯誤處理函數之前,我想知道是否有更簡單的方法。 – wecsam 2012-02-19 01:45:50

回答

0

創建自定義異常處理程序可以使其非常簡單。我們可以簡單地創建一個特殊的類,其中包含可在PHP中發生異常時調用的函數。該類必須是異常類的擴展。我們可以在這裏抑制特定類型的錯誤。

或者乾脆你可以使用@與錯誤引發功能的mysqli像@mysqli_errno()來取消錯誤消息

嘗試instanceof運算符,該is_a功能或get_class函數來獲取錯誤類型:

$var instanceof MySQLi 
is_a($var, 'mysqli') 
is_object($var) && get_class($var) == 'mysqli' 
+0

如果我使用自定義的異常處理程序,通過'set_error_handler()',我認爲,如何確定錯誤是否由'mysqli'生成? – wecsam 2012-02-19 01:47:36

+0

查看更新後的答案use instanceof MySQLi – 2012-02-19 02:13:46

+1

對不起,'$ var'變量來自哪裏? – wecsam 2012-02-19 02:52:03