php mysql错误处理在错误页面中显示错误

时间:2016-10-04 06:51:49

标签: php mysql redirect error-handling

$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));
    } 

任何建议。

3 个答案:

答案 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));
}