2

MySQLエラーをよりきれいにする方法があるかどうか疑問に思っていました. 大した問題ではありませんが、もし実現するのであれば、優しくてきちんとしていてほしいです。

残念ながらうまくいかなかったチュートリアルを1つ読みましたが、可能性への希望を与えてくれました.

「接続なし」などの MySQL エラーに対して、404 エラー ページのようなエラー ページを表示したいと考えています。

誰でも知っていますか?作業チュートリアル?

これが私が読んだチュートリアルです:http://www.jooria.com/Making-Error-Page-When-The-Mysql-Offline-a66.html

4

2 に答える 2

3

@を追加して出力を非表示にします。

<?php
    $host = "localhost";
    $dbuser = "*****";
    $dbpwd = "*****";
    $db = "*****";

    $connect = @mysql_pconnect( $host, $dbuser, $dbpwd );
    if( !$connect ) {
        header( 'Location: /custom-404-page.php' ); die;
    } else {
        $select = @mysql_select_db($db);
    }
?>

このようなものがうまくいくはずです。

$result = @mysql_query ($query, $connection );
if ( mysql_error( $connection ) != "" ) {
    header( 'Location: /custom-404-page.php' ); die;
}

または、すでにヘッダーが設定されている場合は、次のものに置き換えheader( 'Location: /custom-404-page.php' );ます。

echo '<script>window.location.href="custom-404-page.php";</script>';

!注意: 関数呼び出しの前に @ を置くと、すべてのエラー メッセージが抑制されます。慎重に使用してください。実際には機能していない場合でも、すべてが機能していると考えることができます。

于 2012-07-13T13:48:48.633 に答える
-1

あなたは次のようにすることができます:

$connect = mysql_pconnect($host, $dbuser, $dbpwd);
if(!$connect) {
header('Location: /noconnection.html');
exit();
}

単純に例外を処理したい場合

$mysqli = new mysqli($address,$username,$password,$database);
if ($mysqli AND $mysqli->connect_error)
throw new Exception("DB Error ($mysqli->connect_errno): $mysqli->connect_error);
于 2012-07-13T13:54:04.630 に答える