Latest web development tutorials
×

PHP コース

PHP コース PHP 簡単な紹介 PHP インストール PHP 文法 PHP 変数 PHP echo/print PHP データの種類 PHP 定数 PHP 文字列 PHP 演算子 PHP If...Else PHP Switch PHP 配列 PHP 配列のソート PHP スーパーグローバル PHP While 循環 PHP For 循環 PHP 関数 PHP マジック変数 PHP 名前空間 PHP オブジェクト指向の

PHP フォーム

PHP フォーム PHP フォーム認証 PHP フォーム - 必要なフィールド PHP フォーム - 確認メールおよびURL PHP 完全なフォームインスタンス PHP $_GET 変数 PHP $_POST 変数

PHP 応用チュートリアル

PHP 多次元配列 PHP 日付 PHP 含みます PHP ファイル PHP ファイルのアップロード PHP Cookie PHP Session PHP E-mail PHP セキュリティ E-mail PHP Error PHP Exception PHP フィルタ PHP 高度なフィルタ PHP JSON

PHP 7 新機能

PHP 7 新機能

PHP データベース

PHP MySQL 簡単な紹介 PHP MySQL 接続 PHP MySQL データベースの作成 PHP MySQL データテーブルを作成します。 PHP MySQL データを挿入 PHP MySQL 複数のデータの挿入 PHP MySQL プリペアドステートメント PHP MySQL データを読みます PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX 簡単な紹介 AJAX PHP AJAX データベース AJAX XML AJAX 実時間探索 AJAX RSS Reader AJAX 投票

PHP リファレンスマニュアル

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP 画像処理 PHP RESTful

エラー処理とPHPのPDOのエラー

PHPのPDOリファレンスマニュアル PHPのPDOリファレンスマニュアル

  • PDO :: ERRMODE_SILENT

    これがデフォルトのモードです。 PDOは単にステートメントおよびデータベース・オブジェクトをチェックするためにPDO :: errorCode()およびPDO :: errorInfo()メソッドを使用して、エラーコードを設定します。 エラーがcallステートメントのオブジェクトが生成さに起因している場合は、そのオブジェクトのPDOStatement :: errorCode()もしくはPDOStatement ::のerrorInfo()メソッドを呼び出すことができます。 エラーは、データベース・オブジェクトの呼び出し結果であれば、データベースオブジェクト上の同じメソッドを呼び出します。

  • PDO :: ERRMODE_WARNING

    エラーコードの付加を設定することに加えて、PDOは、伝統的なE_WARNINGメッセージを放出します。 あなただけのアプリケーションの流れを中断することなく、何が起きたのかの問題を参照したい場合は、そのようにデバッグ/テスト期間中に、この設定は非常に便利です。

  • PDO :: ERRMODE_EXCEPTION

    エラーコード付加の設定に加え、PDOは例外PDOExceptionクラスをスローし、エラーコードとエラーメッセージを反映するためにそのプロパティを設定します。 例外はトランザクションを終了するためのスクリプトが発生した場合、バック自動的です:それは効果的に非常に迅速に潜在的な問題領域コードを指摘することができますスクリプトは、(覚えて拡大されます間違った点があるため、この設定は、デバッグの際にも便利ですロール)。

    もう一つの例外モードを使用すると、より明確に取り扱う独自のエラーを構築することができ、伝統的なPHP形式の警告に比べ、非常に有用であり、各データベース・コールの戻り値、サイレントモードに比べて必要な異常なパターンコードと明示的にチェックします/以下ネスティング。

PDOインスタンスを作成し、エラーモードを設定します

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

注:かどうかにかかわらず、現在の設定PDO :: ATTR_ERRMODE 、接続が失敗した場合、PDO :: __構築物は、()は常にPDOException例外がスローされます。 キャッチされない例外は致命的です。

PDOインスタンスを作成し、コンストラクタでエラーモードを設定します

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';

/*
    使用 try/catch 围绕构造函数仍然有效,即使设置了 ERRMODE 为 WARNING,
    因为如果连接失败,PDO::__construct 将总是抛出一个  PDOException 异常。
*/
try {
    $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    exit;
}

// 这里将导致 PDO 抛出一个 E_WARNING 级别的错误,而不是 一个异常 (当数据表不存在时)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

上の例の出力は以下となります。

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 18
add a note add a note

PHPのPDOリファレンスマニュアル PHPのPDOリファレンスマニュアル