ショコラ
PDO の属性について何を設定すればいいですか?
PDO のオプションについて、いつも設定しているものをまとめてみました。
もっさん先輩
①強制的にカラム名を小文字にします。
// 強制的にカラム名を小文字にします。
setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER)
②エラー時に PDOException をスローします。
// エラー時に PDOException をスローします。
setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION)
③フェッチする際、数値を文字列に変換します。
// フェッチする際、数値を文字列に変換します。
setAttribute(PDO::ATTR_STRINGIFY_FETCHES,true)
④null を空文字列に変換します。
// null を空文字列に変換します。
setAttribute(PDO::ATTR_ORACLE_NULLS,PDO::NULL_TO_STRING)
⑤自動コミットを無効にします。
// 自動コミットを無効にします。
setAttribute(PDO::ATTR_AUTOCOMMIT,false)
⑥連想配列で取得します。
// 連想配列で取得します。
setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC)
⑦プリペアドステートメントのエミュレーションを無効にします。
// プリペアドステートメントのエミュレーションを無効にします。
setAttribute(PDO::ATTR_EMULATE_PREPARES,false)
まとめると
[
PDO::ATTR_CASE => PDO::CASE_LOWER,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_STRINGIFY_FETCHES => true,
PDO::ATTR_ORACLE_NULLS => PDO::NULL_TO_STRING,
PDO::ATTR_AUTOCOMMIT => false,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]