PDO::setAttribute
(PHP 5 >= 5.1.0, PHP 7, 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::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 を必要とするPDO::ATTR_STATEMENT_CLASS
: PDOStatement に由来するユーザーが提供するステートメントクラスを設定する。 永続的な PDO インスタンスは使用できない。array(string classname, array(mixed constructor_args))
を必要とする。PDO::ATTR_TIMEOUT
: タイムアウト秒数を指定する。すべてのドライバがこのオプションに対応しているわけではなく、 またドライバによってこのオプションの扱いは異なる。たとえば sqlite は書き込み可能なロックを確保するのをこの秒数まで待ち続けるが、 他のドライバではこの秒数を接続時のタイムアウトや読み込みのタイムアウトとして扱うこともある。 int を渡す。PDO::ATTR_AUTOCOMMIT
(OCI, Firebird そして MySQL で利用可能): それぞれの単一文で自動コミットするかどうか。PDO::ATTR_EMULATE_PREPARES
プリペアドステートメントのエミュレーションを有効または無効にする。 ドライバによってはネイティブのプリペアドステートメントをサポートしていなかったり 完全には対応していなかったりするものがある。この設定を使うと、常に プリペアドステートメントをエミュレートする (true
および プリペアのエミュレートがドライバでサポートされている場合) か、 ネイティブのプリペアドステートメントを使おうとする (false
の場合) かを設定できる。現在のクエリを正しく準備できなかった場合は、常にエミュレート方式を使う。 bool で指定する。PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
(MySQL で利用可能): バッファされたクエリを使用する。PDO::ATTR_DEFAULT_FETCH_MODE
: デフォルトのフェッチモードを設定する。このモードについての説明は PDOStatement::fetch() のドキュメントを参照。
返り値
成功した場合に true
を、失敗した場合に false
を返します。