デフォルトのエラー処理モード
1,PDO::ERRMODE_SILENT
これはデフォルトのモードです。 PDO はステートメントとデータベース オブジェクトに単純なエラー コードを設定します。PDO->errorCode() メソッドと PDO->errorInfo() メソッドを使用してエラーを確認できます。
ステートメントの呼び出し時にエラーが発生した場合その結果、そのオブジェクトに対して PDOStatement->errorCode() メソッドまたは PDOStatement->errorInfo() メソッドを使用して、エラー情報を取得できます。
データベース オブジェクトの呼び出し時にエラーが発生した場合は、データベース オブジェクトに対してこれら 2 つのメソッドを呼び出す必要があります。
コードは次のとおりです。
<?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("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>';
}データベースが作成されていない場合、phpbook テーブルの実行結果は次のようになります。



