2016-10-04 68 views
2
$postQuery = $conn->query("SELECT * from table_name order by column desc")or die(mysql_error()); 

当在查询错误则结束该控制和示出了在同一页错误消息..PHP的MySQL错误处理显示在错误中的错误页

我想重定向到一个错误页面错误时发生并在该页面中显示错误。

这里是我的代码:

$conn = new mysqli($host, $user, $password, $database); 
    if ($conn->connect_error) { 
     header("Location: ".SITEURL."/error.php?message=" . url_encode($conn->connect_error)); 
    } 

任何建议。

+0

这是关系到[PHP重定向(http://stackoverflow.com/q uestions/4663688/php-redirect-after-mysql-insert) – Ayak973

+0

是的,它的php $ conn-> query()函数。 –

+0

只需使用'if/else' – Ghost

回答

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

这是一个非常普遍的错误处理程序,适用于任何类型的错误

添加这在正在生成的错误

//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; 
?>