PHP技術者認定・上級

問題 (2018年9月25日)

【PDOのエラー処理】

以下のコードはPDOでデータベース接続する際のエラー処理の例である。コード内の[(1)] [(2)] [(3)] [(4)]の部分に入る正しい組み合わせを1つ次の記述の中から選択せよ。

[(1)] 'pgsql:dbname=testdb;host=127.0.0.1';
$user 'phpuser';
$password 'phpasswd';
try {
    $dbh new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::[(2)], PDO::[(3)]);
catch (PDOException $e) {
    echo 'Connection failed: [(4)]->getMessage();
}

○ 3. 正解です!

【解説】 PDOが提供するエラー処理は3種類ある。
PDO::ERRMODE_SILENTは、単にそのエラーコードのみを設定するため、エラーの内容はメソッドにより取り出す必要がある。
PDO::ERRMODE_WARNINGは、エラーコードの設定に加えて、E_WARNING メッセージも出力する。PDO::ERRMODE_EXCEPTIONは、PDOException をスローし、エラーコードや 関連情報が、クラスのプロパティとして設定される。

Copyright(c) 2011-2018 PHP Engineer Recognition Agency. All rights reserved.
ITトレメの問題や解答、サービスに関するお問い合せはこちらまで
@IT自分戦略研究所フォーラム 新着記事
- PR -