PDO::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::setAttribute 属性を設定する

説明

public PDO::setAttribute(int $attribute, mixed $value): bool

データベースハンドルの属性を設定します。 利用可能な通常の属性は以下の通りです。いくつかのドライバでは、 ドライバ固有の属性を使用することが可能です。 ドライバ固有の属性は、 他のドライバでは使っては いけない ことに注意して下さい。

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
PDOException をスローします。
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 を返します。

参考

関連キーワード:  属性, 設定, PDO, 変換, 注意, PDOStatement, 利用, プリペアドステートメント, setAttribute, attribute