2 回答

TA貢獻1851條經驗 獲得超4個贊
如果您不想呈現用戶名和數據庫,您只需$con->connect_error從自定義消息中刪除。
if ($con->connect_error) {
die("Sorry, there was an error.");
}

TA貢獻1808條經驗 獲得超4個贊
您的代碼的邏輯規定,無論 ini 設置如何,它都應該顯示錯誤消息。用錯誤消息死在你的代碼中從來都不是一個好主意。PHP 具有非常好的錯誤報告和邏輯功能,您不需要自己死掉或顯示它們。
首先,如果您使用 MySQLi,那么您應該在代碼中啟用異常模式:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
不要發現您的錯誤,也不要自己顯示它們。如果切換到配置并打開display_errors=On錯誤報告,您將在瀏覽器中看到錯誤。
如果你真的想顯示你自己的錯誤信息,你應該使用exceptions。
if ($con->connect_error) {
throw new \Exception("Sorry, there was an error: " . $con->connect_error);
}
您也可以使用trigger_error手動觸發 PHP 錯誤。
if ($con->connect_error) {
throw new \Exception("Sorry, there was an error: " . $con->connect_error, E_USER_ERROR);
}
最糟糕的選擇是die。如果必須,die則可以先檢查錯誤顯示是否已打開。
if ($con->connect_error) {
if(ini_get('display_errors')){
die("Sorry, there was an error: " . $con->connect_error);
}
}
- 2 回答
- 0 關注
- 145 瀏覽
添加回答
舉報