預設錯誤處理模式
1,PDO::ERRMODE_SILENT
# 這是預設使用的模式。 PDO會在statement和database物件上設定簡單的錯誤代號,你可以使用PDO->errorCode() 和PDO->errorInfo() 方法檢查錯誤;
如果錯誤是在對statement物件進行呼叫時導致的,你就可以在那個物件上使用PDOStatement->errorCode() 或PDOStatement->errorInfo() 方法取得錯誤訊息。
而如果錯誤是在對database物件呼叫時導致的,你就應該在這個database物件上呼叫那兩個方法。
程式碼如下:
<?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表執行結果如下所示: