(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::setAttribute — 属性を設定する
データベースハンドルの属性を設定します。 利用可能な通常の属性は以下の通りです。いくつかのドライバでは、 ドライバ固有の属性を使用することが可能です。 ドライバ固有の属性は、 他のドライバでは使っては いけない ことに注意して下さい。
PDO::ATTR_CASE
強制的にカラム名を指定したケースにします。 以下の値のうち、ひとつを指定できます:
PDO::CASE_LOWER
PDO::CASE_NATURAL
PDO::CASE_UPPER
PDO::ATTR_ERRMODE
PDO のエラーレポートモード。 以下の値のうち、ひとつを指定できます:
PDO::ERRMODE_SILENT
PDO::ERRMODE_WARNING
E_WARNING
を発生させる。
PDO::ERRMODE_EXCEPTION
PDO::ATTR_ORACLE_NULLS
注意: この属性は Oracle だけでなく、全てのドライバで利用可能です。
null
と空文字列を変換するかどうか、
および、どのように変換するかを指定します。
以下の値のうち、ひとつを指定できます:
PDO::NULL_NATURAL
PDO::NULL_EMPTY_STRING
null
に変換する。
PDO::NULL_TO_STRING
null
を空文字列に変換する。
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
にします。
デフォルトは false
です。
PDO::ATTR_DEFAULT_FETCH_MODE
デフォルトのフェッチモードを設定します。 このモードと使い方についての説明は、 PDOStatement::fetch() のドキュメントを参照下さい。
attribute
変更する属性。
value
attribute
に設定する値。
属性によっては、特定の型が必要かもしれません。
成功した場合に true
を、失敗した場合に false
を返します。