それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

PDOでエラー表示をする.PDOの例外をエラーメッセージを表示する

PHPはエラー表示しない」のが標準設定らしいです.初心者や使うだけの人がWarningsを見せられても意味わかんないって事らしいんですけど、チョッとしたデバッグでも不便です.

PDOのSQL周りのエラーでExceptionにして欲しい

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

PDOを使うとExceptionが出てこない.

PDOをつかっていると、Prepare後にExecuteしたらなぜかうまくいかないことがある.原因を表示してくれると助かるのですが.

PDO::ERRMODE_SILENT デフォルトのモードです。
エラーを取得するには PDO::errorCode() および PDO::errorInfo() メソッドを使用します。

つまりエラーがでて失敗したらPDO::errorInfo()を見て下さいなってこと

PDO::ERRMODE_EXCEPTION

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

これは何をしているのかというと,PDOの設定PDO::ATTR_ERRMODEにPDO::ERRMODE_EXCEPTIONを設定(SetAttribute)している

これで、execute失敗でExceptionがThrowされてBacktraceが見られる,SQLの何が悪いかとかSQLのエラーメッセージが見えるので便利だった.