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 关注
- 126 浏览
添加回答
举报