2

データベース接続でエラーをキャッチしようとしていますが、間違ったホスト名のみを入力するとエラーが発生します。コードは次のとおりです。

try
{
    $mysqlconnection = new PDO('mysql:host=localshost;dbname=test', 'root', '');
}
catch (Exception $ex)
{

die('Erreur : ' . $ex->getMessage());

}

そして、これが私が得るエラーです:

ここに画像の説明を入力してください

間違ったホスト名を設定した場合にのみこのエラーが発生するのはなぜですか?

4

1 に答える 1

1

例外をオンにしPDOExceptionて、キャッチされた例外に使用することをお勧めします。

try {
    $mysqlconnection = new PDO(
        'mysql:host=localshost;dbname=test',
        'root', 'yourPasswordHere'
    );
    $mysqlconnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $ex) {
    die('Erreur : ' . $ex->getMessage());
    // or 
    // die('Erreur:' . PHP_EOL . $ex->getTraceAsString());
}

私にとってはそれは出力します

エラー:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfoが失敗しました:nodenameまたはservnameが指定されているか、不明です

于 2013-01-20T04:45:05.380 に答える