この記事では、主に php での PDO 例外処理の関連内容を紹介します。最初に簡単に説明し、次にサンプル コードを通じてその使用方法を紹介します。参考にしてください。興味のある友達が来て一緒に学ぶことができます。
例外処理:
PHP: デフォルトはエラーを直接報告します
MYSQL: デフォルトはサイレントモード、エラーはエラー、エラーは報告されません
PDO: デフォルトはサイレントモード、エラーは報告されませんエラーが発生しても、エラーは報告されません
以前は、PHP はエラーが発生すると直接エラーを報告し、エラー処理は非常に面倒でした。その後、エラーが発生した場合、エラー情報は直接出力されなくなり、クラス オブジェクト (PDOException) に配置されます。
pdo 例外処理設定:
Set PDO::ATTR_ERRMODE、次の 3 つの値:
PDO::ERRMODE_SILENT: デフォルト モード。エラーは積極的に報告されず、$pdo->errorInfo() の形式でエラー情報を積極的に取得する必要があります。
PDO::ERRMODE_WARNING: E_WARNING エラーを発生させ、積極的にエラーを報告します。
PDO::ERRMODE_EXCEPTION: エラー情報を出力するには、try{}cath(){} を使用する必要があります。
例:
方法 1:
<?php //默认是不提示的 需要用 errorCode() errorInfo(); try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //下面这句是默认设置,有无均可 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; $res = $pdo->exec($sql); if($res){ echo "OK"; }else{ echo $pdo->errorCode(); print_r($pdo->errorInfo()); }
方法 2:
<?php try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //主动以警告的形式报错 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; //若有错误直接在浏览器页面中显示错误信息 $res = $pdo->exec($sql);
3:
<?php try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //主动抛出异常 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION ); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; //用try{}catch(){}抓取异常 try{ $res = $pdo->exec($sql); }catch(PDOException $e){ echo $e->getMessage(); }
これで終わりです記事全内容、皆様の学習のお役に立てれば幸いです。
関連する推奨事項:
PHP でエラーを通知するための一般的な解決策の詳細な図による説明
以上がphpのPDO例外処理方法の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。