ショコラ
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,
]