# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

警告

PHP 5.1 以降、PDO はクラス定数を使用します。 それ以前のリリースでは、`PDO_PARAM_BOOL` の形式のグローバル変数を使用します。

`PDO::PARAM_BOOL` (integer)
  ブールデータ型を表します。
`PDO::PARAM_NULL` (integer)
  SQL NULL データ型を表します。
`PDO::PARAM_INT` (integer)
  SQL INTEGER データ型を表します。
`PDO::PARAM_STR` (integer)
  SQL CHAR, VARCHAR, または他の文字列データ型を表します。
`PDO::PARAM_STR_NATL` (integer)
  Flag to denote a string uses the national character set. Available since PHP 7.2.0
`PDO::PARAM_STR_CHAR` (integer)
  Flag to denote a string uses the regular character set. Available since PHP 7.2.0
`PDO::PARAM_LOB` (integer)
  SQL ラージオブジェクト型を表します。
`PDO::PARAM_STMT` (integer)
`PDO::PARAM_INPUT_OUTPUT` (integer)
  パラメータがストアドプロシージャ用の入力パラメータであることを指定します。 この値は、PDO::PARAM_* データ型とのビットORとして指定する必要があります。
`PDO::FETCH_LAZY` (integer)
  取得する方法として、 結果セットが返すカラム名と同じ名前の変数を有するオブジェクトとして各行を返す方法を 指定します。 `PDO::FETCH_LAZY` は、アクセスされたものと同じ名前のオブジェクト変数を作成します。 PDOStatement::fetchAll() の中では使えません。
`PDO::FETCH_ASSOC` (integer)
  結果セットの対応するカラム名にふられているものと同じキーを付けた 連想配列として各行を返す取得方法を指定します。 もし結果セットが複数のカラムを同名で含む場合、 `PDO::FETCH_ASSOC` はカラム名毎に 1 つの値のみ返します。
`PDO::FETCH_NAMED` (integer)
  結果セットの対応するカラム名にふられているものと同じキーを付けた 連想配列として各行を返す取得方法を指定します。 もし結果セットが複数のカラムを同名で含む場合、 `PDO::FETCH_NAMED` はカラム名毎に値の配列を返します。
`PDO::FETCH_NUM` (integer)
  結果セットの対応するカラム番号にふられているものと同じ添字を付けた 配列として各行を返す取得方法を指定します。番号は0から始まります。
`PDO::FETCH_BOTH` (integer)
  結果セットと同じカラム名と0から始まるカラム番号を付けた配列として各行を返す 方法を指定します。
`PDO::FETCH_OBJ` (integer)
  結果セットが返すカラム名と同じ名前のプロパティを有する オブジェクトとして各行を返す方法を指定します。
`PDO::FETCH_BOUND` (integer)
  結果セットのカラムの値を PDOStatement::bindParam() または PDOStatement::bindColumn() メソッドでバインドされた PHP変数に代入し、TRUEを返すという取得方法を指定します。
`PDO::FETCH_COLUMN` (integer)
  結果セットの次の行から指定された一つのカラムのみを返す取得方法を指定します。
`PDO::FETCH_CLASS` (integer)
  カラムをクラスのプロパティにマップしつつ、 指定されたクラスの新規インスタンスを返す取得方法を指定します。

  > 注意: 要求されたクラスにプロパティが存在しない場合は、マジックメソッド __set() がコールされます。

`PDO::FETCH_INTO` (integer)
  カラムをクラスのプロパティにマップしつつ、 指定されたクラスの既存のインスタンスを更新する取得方法を指定します。
`PDO::FETCH_FUNC` (integer)
  データをその場で扱う方法を完全にカスタマイズできるようにします (PDOStatement::fetchAll() の中でしか使えません)。
`PDO::FETCH_GROUP` (integer)
  値で返すグループ。 `PDO::FETCH_COLUMN` あるいは `PDO::FETCH_KEY_PAIR` と組み合わせます。
`PDO::FETCH_UNIQUE` (integer)
  一意な値だけを取得します。
`PDO::FETCH_KEY_PAIR` (integer)
  ふたつのカラムからなる結果を配列で取得します。最初のカラムの値がキー、二番目のカラムの内容が値となります。 PHP 5.2.3 以降で使用可能です。
`PDO::FETCH_CLASSTYPE` (integer)
  最初のカラムの値からクラス名を決定します。
`PDO::FETCH_SERIALIZE` (integer)
  `PDO::FETCH_INTO` と同様ですが、 シリアライズした文字列としてオブジェクトを提供します。 PHP 5.1.0 以降で使用可能です。 PHP 5.3.0 以降、このフラグを設定した場合はコンストラクタが呼ばれないようになりました。
`PDO::FETCH_PROPS_LATE` (integer)
  コンストラクタを呼んでからプロパティを設定します。 PHP 5.2.0 以降で使用可能です。
`PDO::ATTR_AUTOCOMMIT` (integer)
  この値が `FALSE` の場合、PDO は接続がトランザクションを開始できるように オートコミットを無効にしようとします。
`PDO::ATTR_PREFETCH` (integer)
  独自アプリケーションにおけるメモリ使用量に対する速度のバランスを 調整するためのプリフェッチサイズを設定します。 全てのデータベースとドライバの組み合わせでプリフェッチサイズの設定を サポートしているわけではありません。
`PDO::ATTR_TIMEOUT` (integer)
  データベースとの通信に対するタイムアウト値を秒で設定します。
`PDO::ATTR_ERRMODE` (integer)
`PDO::ATTR_SERVER_VERSION` (integer)
`PDO::ATTR_CLIENT_VERSION` (integer)
`PDO::ATTR_SERVER_INFO` (integer)
`PDO::ATTR_CONNECTION_STATUS` (integer)
`PDO::ATTR_CASE` (integer)
  PDO::CASE_* 定数で指定されたケースにカラム名を変更します。
`PDO::ATTR_CURSOR_NAME` (integer)
`PDO::ATTR_CURSOR` (integer)
`PDO::ATTR_DRIVER_NAME` (string)
  ドライバ名を返します。

  例1 `PDO::ATTR_DRIVER_NAME` の使用例

  `<?php
  if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "mysql 上で動作しています。何か mysql 固有のことをここで行います\n";
  }
  ?>`
`PDO::ATTR_ORACLE_NULLS` (integer)
  空文字を SQL の NULL 値に変換します。
`PDO::ATTR_PERSISTENT` (integer)
  新規接続を生成するよりもむしろ持続的接続を要求します。
`PDO::ATTR_STATEMENT_CLASS` (integer)
  Sets the class name of which statements are returned as.
`PDO::ATTR_FETCH_CATALOG_NAMES` (integer)
  結果セット中の各カラム名にカタログ名を追加します。 カタログ名とカラム名は、小数点 (.) で区切られます。
`PDO::ATTR_FETCH_TABLE_NAMES` (integer)
  結果セット中の各カラム名にテーブル名を追加します。 テーブル名とカラム名は、小数点 (.) で区切られます。
`PDO::ATTR_STRINGIFY_FETCHES` (integer)
  Forces all values fetched to be treated as strings.
`PDO::ATTR_MAX_COLUMN_LEN` (integer)
  Sets the maximum column name length.
`PDO::ATTR_DEFAULT_FETCH_MODE` (integer)
  PHP 5.2.0 以降で使用可能です。
`PDO::ATTR_EMULATE_PREPARES` (integer)
  PHP 5.1.3 以降で使用可能です。
`PDO::ATTR_DEFAULT_STR_PARAM` (integer)
  Sets the default string parameter type, this can be one of `PDO::PARAM_STR_NATL` and `PDO::PARAM_STR_CHAR`. Available since PHP 7.2.0.
`PDO::ERRMODE_SILENT` (integer)
  エラー時にエラーもしくは例外を発生しません。 開発者の方は明示的にエラーをチェックするようにしてください。 これはデフォルトのモードです。
`PDO::ERRMODE_WARNING` (integer)
  エラーが発生した場合、PHP の `E_WARNING` メッセージを発行します。
`PDO::ERRMODE_EXCEPTION` (integer)
  エラーが発生した場合、PDOException を投げます。
`PDO::CASE_NATURAL` (integer)
  カラム名をデータベースドライバにより返されたままにします。
`PDO::CASE_LOWER` (integer)
  カラム名を小文字にします。
`PDO::CASE_UPPER` (integer)
  カラム名を大文字にします。
`PDO::NULL_NATURAL` (integer)
`PDO::NULL_EMPTY_STRING` (integer)
`PDO::NULL_TO_STRING` (integer)
`PDO::FETCH_ORI_NEXT` (integer)
  結果セットの次の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_PRIOR` (integer)
  結果セットの前の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_FIRST` (integer)
  結果セットの先頭の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_LAST` (integer)
  結果セットの最後の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_ABS` (integer)
  結果セットから行番号で指定した行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_REL` (integer)
  結果セットのカーソルの現在の位置を基準とする相対位置により指定された行を 取得します。スクローラブルなカーソルでのみ有効です。
`PDO::CURSOR_FWDONLY` (integer)
  前進のみ可能なカーソルを有する PDOStatement オブジェクトを生成します。 これにより、アプリケーションの性能は改善しますが、 PDOStatementオブジェクトは前方にある結果セットから一度に一行を 取得するという制約を受けます。
`PDO::CURSOR_SCROLL` (integer)
  スクローラブルカーソルを有する PDOStatement オブジェクトを作成します。 結果セットから取得した行を制御するための PDO::FETCH_ORI_* 定数を指定して ください。
`PDO::ERR_CANT_MAP` (integer)
`PDO::ERR_SYNTAX` (integer)
`PDO::ERR_CONSTRAINT` (integer)
`PDO::ERR_NOT_FOUND` (integer)
`PDO::ERR_ALREADY_EXISTS` (integer)
`PDO::ERR_NOT_IMPLEMENTED` (integer)
`PDO::ERR_MISMATCH` (integer)
`PDO::ERR_TRUNCATED` (integer)
`PDO::ERR_DISCONNECTED` (integer)
`PDO::ERR_NO_PERM` (integer)
`PDO::ERR_NONE` (string)
  SQLSTATE '00000' は SQL ステートメントがエラーや警告がなく発行に成功したことを意味します。 この定数はエラーが発生したかどうかを判別するために PDO::errorCode() もしくは PDOStatement::errorCode() をチェックする際に 便利です。この場合、通常はエラー状態を発生したメソッドからの戻りコードを 検査することによって検知します。
`PDO::PARAM_EVT_ALLOC` (integer)
  割り当てられたときに発生するイベント。
`PDO::PARAM_EVT_FREE` (integer)
  割り当てが解除されたときに発生するイベント。
`PDO::PARAM_EVT_EXEC_PRE` (integer)
  プリペアドステートメントの実行前に発生するイベント。
`PDO::PARAM_EVT_EXEC_POST` (integer)
  プリペアドステートメントの実行後に発生するイベント。
`PDO::PARAM_EVT_FETCH_PRE` (integer)
  結果セットから結果を取得する前に発生するイベント。
`PDO::PARAM_EVT_FETCH_POST` (integer)
  結果セットから結果を取得した後に発生するイベント。
`PDO::PARAM_EVT_NORMALIZE` (integer)
  バインドパラメータの登録時に発生するイベント。 これにより、ドライバがパラメータ名を正規化できるようになります。
`PDO::SQLITE_DETERMINISTIC` (integer)
  Specifies that a function created with PDO::sqliteCreateFunction() is deterministic, i.e. it always returns the same result given the same inputs within a single SQL statement. (PHP 7.1.4 以降で使用可能です)