我有一个使用 php 的网页,它使用 mysqli 函数与 MySql 数据库交互。我想禁止来自 MySql 和 Php 的所有错误消息,并将这些错误记录在数据库中以进行跟踪和历史记录。显然我不希望弹出 MySql 查询供用户查看,我想要一条自定义消息。诸如“服务器错误:请重试”之类的东西。
是否有任何方法可以将其实施到我的网站中?
这是一个示例,可以帮助您混淆用户的错误消息。
<?php
mysqli_report(MYSQLI_REPORT_OFF); //Turn off default messages
$mysqli = new mysqli("localhost", "user", "password", "database");
$query = "SELECT * FROM Table ";
$res = $mysqli->query($query);
if ($mysqli->error) {
try {
throw new Exception("MySQL error $mysqli->error <br> Query:<br> $query", $msqli->errno);
} catch(Exception $e ) {
// Log your error in db or just output it
// using $e->getMessage() to log the actual message;
echo nl2br($e->getTraceAsString());
}
}
?>