(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::setAttribute — 属性を設定する
データベースハンドルの属性を設定します。 利用可能な通常の属性は以下の通りです。いくつかのドライバでは、 ドライバ固有の属性を使用することが可能です。 ドライバ固有の属性は、 他のドライバでは使っては いけない ことに注意して下さい。
PDO::ATTR_CASE強制的にカラム名を指定したケースにします。 以下の値のうち、ひとつを指定できます:
PDO::CASE_LOWERPDO::CASE_NATURALPDO::CASE_UPPERPDO::ATTR_ERRMODEPDO のエラーレポートモード。 以下の値のうち、ひとつを指定できます:
PDO::ERRMODE_SILENTPDO::ERRMODE_WARNINGE_WARNING を発生させる。
PDO::ERRMODE_EXCEPTIONPDO::ATTR_ORACLE_NULLS注意: この属性は Oracle だけでなく、全てのドライバで利用可能です。
null と空文字列を変換するかどうか、
および、どのように変換するかを指定します。
以下の値のうち、ひとつを指定できます:
PDO::NULL_NATURALPDO::NULL_EMPTY_STRINGnull に変換する。
PDO::NULL_TO_STRINGnull を空文字列に変換する。
PDO::ATTR_STRINGIFY_FETCHES
フェッチする際、数値を文字列に変換するかどうかを指定します。
bool の値を指定します:
変換を有効にする場合 true、
無効にする場合、false にします。
PDO::ATTR_STATEMENT_CLASS
PDOStatement から派生した、
ユーザーが提供するステートメントクラスを設定する。
array(string classname, array(mixed constructor_args)) の形式でなければいけません。
永続的な PDO インスタンスは使用できません。
PDO::ATTR_TIMEOUTタイムアウト秒数を指定します。 数値を指定します。
注意:
すべてのドライバがこのオプションに対応しているわけではありません。 また、ドライバによっては意味が異なることがあります。 たとえば SQLite は書き込み可能なロックを確保するのをこの秒数まで待ち続けますが、 他のドライバでは、 この秒数を接続時のタイムアウトや読み込みのタイムアウトとして扱うことがあります。
PDO::ATTR_AUTOCOMMIT注意: OCI, Firebird, MySQL でのみ利用可能です。
それぞれの単一文で自動コミットするかどうか。
bool の値を指定します:
自動コミットを有効にする場合 true、
無効にする場合、false にします。
デフォルトは true です。
PDO::ATTR_EMULATE_PREPARES注意: OCI, Firebird, MySQL でのみ利用可能です。
プリペアドステートメントのエミュレーションを有効または無効にします。
ドライバによっては、
ネイティブのプリペアドステートメントをサポートしていなかったり
完全には対応していなかったりするものがあります。
true を指定すると、
プリペアドステートメントを常にエミュレートします。
そうでない場合、
ネイティブのプリペアドステートメントを使おうとします。
ドライバが現在のクエリを正しく準備できなかった場合は、
常にエミュレート方式を使います。
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY注意: MySQL でのみ利用可能です。
バッファされたクエリを使うかどうかを指定します。
bool の値を指定します:
バッファされたクエリを有効にする場合 true、
無効にする場合、false にします。
デフォルトは true です。
PDO::ATTR_DEFAULT_FETCH_MODEデフォルトのフェッチモードを設定します。 このモードと使い方についての説明は、 PDOStatement::fetch() のドキュメントを参照ください。
attribute変更する属性。
value
attribute に設定する値。
属性によっては、特定の型が必要かもしれません。