エラーと例外の処理

エラー例外処理モード: PDO::ERRMODE_EXCEPTION

## エラーコード設定用の添付ファイルとして, PDO PDOException がスローされ、そのプロパティはエラー コードとエラー メッセージを反映するように設定されます。この設定は、スクリプト内のエラー ポイントを効果的に「爆発」させ、コード内のエラーの可能性のある領域を迅速に示すため、デバッグ時にも非常に役立ちます。 (例外によってスクリプトが中止された場合、トランザクションは自動的にロールバックされることに注意してください。)

例外モードは、従来の PHP スタイルのエラー処理構造よりも明確な構造を使用できるため、非常に便利です。 Quiet モードを使用するよりもコードとネストを軽減し、各データベース アクセスの戻り値をより明示的に確認できます。

微信图片_20180305114759.png

完成したコードは次のとおりです:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 上午 9:23
 */
header("Content-Type:text/html;charset=utf-8");
//mysql:host:localhost;port=3306;dbname=php;charset=utf-8
$dbms='mysql';
$host='localhost';
$port='3306';
$dbname='php';
$charset='utf-8';
//用户名与密码
$user='root';
$pwd='root';
$dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    //设置错误处理
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);   //0 默认模式
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);  //1  警告处理模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//2
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ATTR_ERRMODE);     //3
    //预处理sql语句
//    $stmt=$pdo->prepare("insert into book(name,author)values(?,?)");
    $stmt=$pdo->prepare("select *from phpbook");
    $stmt->execute();
    //获取错误信息
    $code=$stmt->errorCode();
    $info=$stmt->errorInfo();
    //输出相关信息
    print_r("错误码:".$code."<br>");
    print_r("错误信息:");
    print_r($info);
}catch (PDOException $exception){
    echo $exception->getMessage().'<br>';
}

実行結果の表示:

微信图片_20180305114907.png

学び続ける
||
<?php echo "PDO异常处理模式";
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜