2016-10-04 9 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)); 
    } 

どれ提案:

は、ここに私のコードです。

if (!$conn->query("SELECT * from table_name order by column desc")) { 
    header("Location: http://www.yoursite.com/error.php?errormessage=" . url_encode($conn->error)); 
} 
+0

は[PHPリダイレクト](http://stackoverflow.com/qに、この関係しています/ 4663688/php-redirect-after-mysql-insert) – Ayak973

+0

はい、php $ conn-> query()関数です。 –

+0

'if/else'を使用してください。 – Ghost

答えて

0

MySQLのクエリが失敗し、 MySQLExceptionよりエラーが発生した場合は、その例外を置き換えてください。

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

あなたが別のを取得する場合:それはFalseを返し、接続はあなたのような参照できるエラーデータを、保持している

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; 
?> 
関連する問題