$postQuery = $conn->query("SELECT * from table_name order by column desc")or die(mysql_error());
当查询中出现错误时,它会结束控件并在同一页面中显示错误消息..
我想在发生错误时重定向到错误页面并在该页面中显示错误。
这是我的代码:
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
header("Location: ".SITEURL."/error.php?message=" . url_encode($conn->connect_error));
}
任何建议。
答案 0 :(得分:2)
这是一个非常通用的错误处理程序,适用于任何类型的错误
在生成错误的页面中添加此内容
//error handler function
function customError($errno, $errstr) {
$errorpage= "Location:error.php?&err=".$eerrno." ". $errstr;
}
//set error handler
set_error_handler("customError");
现在让页面显示错误,
error.php
<?php
$err=$_GET['err'];
echo $err;
?>
答案 1 :(得分:1)
try {
$postQuery = $conn->query("SELECT * from table_name order by column desc")or die(mysql_error());
} catch (MySQLException $e) {
header("Location: http://example.com/");
}
如果您收到另一个错误而不是MySQLException,那么只需替换该异常。
答案 2 :(得分:0)
当你的mysql查询失败时,它返回False
,连接保存错误数据,你可以这样引用:
if (!$conn->query("SELECT * from table_name order by column desc")) {
header("Location: http://www.yoursite.com/error.php?errormessage=" . url_encode($conn->error));
}