# 定義済み定数

## 目次

- フェッチモード

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

## カーソル

`PDO::ATTR_CURSOR_NAME` も参照ください。

`PDO::FETCH_ORI_NEXT` (int)
  結果セットの次の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_PRIOR` (int)
  結果セットの前の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_FIRST` (int)
  結果セットの先頭の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_LAST` (int)
  結果セットの最後の行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_ABS` (int)
  結果セットから行番号で指定した行を取得します。スクローラブルなカーソルでのみ有効です。
`PDO::FETCH_ORI_REL` (int)
  結果セットのカーソルの現在の位置を基準とする相対位置により指定された行を 取得します。スクローラブルなカーソルでのみ有効です。
`PDO::CURSOR_FWDONLY` (int)
  前進のみ可能なカーソルを有する PDOStatement オブジェクトを生成します。 これはデフォルトのカーソルです。 なぜなら、処理が一番高速で、 PHP ではもっとも一般的なデータアクセスパターンだからです。
`PDO::CURSOR_SCROLL` (int)
  スクローラブルカーソルを有する PDOStatement オブジェクトを作成します。 結果セットから取得した行を制御するための `PDO::FETCH_ORI_*` 定数を指定してください。

## その他の定数

`PDO::PARAM_BOOL` (int)
  ブールデータ型を表します。
`PDO::PARAM_NULL` (int)
  SQL NULL データ型を表します。
`PDO::PARAM_INT` (int)
  SQL INTEGER データ型を表します。
`PDO::PARAM_STR` (int)
  SQL CHAR, VARCHAR, または他の文字列データ型を表します。
`PDO::PARAM_STR_NATL` (int)
  国内の文字セットを使用する文字列であることを示すフラグです。 PHP 7.2.0 以降で利用可能です。
`PDO::PARAM_STR_CHAR` (int)
  通常の文字セットを使用する文字列であることを示すフラグです。 PHP 7.2.0 以降で利用可能です。
`PDO::PARAM_LOB` (int)
  SQL ラージオブジェクト型を表します。
`PDO::PARAM_STMT` (int)
  レコードセット型を表します。 この型は現在どのドライバでもサポートされていません。
`PDO::PARAM_INPUT_OUTPUT` (int)
  パラメータがストアドプロシージャ用の入出力パラメータであることを指定します。 この値は、 `PDO::PARAM_*` 定数のビットORとして指定する必要があります。
`PDO::ATTR_AUTOCOMMIT` (bool)
  この値が `false` の場合、PDO は接続がトランザクションを開始できるように オートコミットを無効にしようとします。 PHP 8.4.0 以降、この定数は bool として型付けされています。 それ以前は、int として型付けされていました。
`PDO::ATTR_PREFETCH` (int)
  独自アプリケーションにおける、 メモリ使用量に対する速度のバランスを調整するためのプリフェッチサイズを設定します。 全てのデータベースとドライバの組み合わせでプリフェッチサイズの設定をサポートしているわけではありません。 プリフェッチサイズを大きくするとパフォーマンスは向上しますが、 メモリ使用量は増加します。
`PDO::ATTR_TIMEOUT` (int)
  データベースとの通信に対するタイムアウト値を秒で設定します。
`PDO::ATTR_ERRMODE` (int)
  この属性についての詳細は、 エラー及びエラー処理 を参照ください。
`PDO::ATTR_SERVER_VERSION` (int)
  この属性は読み取り専用です。 PDO が接続している、データベースサーバーのバージョンに関する情報を返します。
`PDO::ATTR_CLIENT_VERSION` (int)
  この属性は読み取り専用です。 PDO ドライバが使っているクライアントライブラリのバージョンに関する情報を返します。
`PDO::ATTR_SERVER_INFO` (int)
  この属性は読み取り専用です。 PDO が接続している、データベースサーバーのメタ情報に関する情報を返します。
`PDO::ATTR_CONNECTION_STATUS` (int)
`PDO::ATTR_CASE` (int)
  `PDO::CASE_*` 定数で指定されたケースにカラム名を変更します。
`PDO::ATTR_CURSOR_NAME` (int)
  カーソルに使用する名前を取得または設定します。 スクローラブルなカーソルと、 位置を指定した更新を行う場合に最も有用です。
`PDO::ATTR_CURSOR` (int)
  カーソルのタイプを指定します。 PDO は現在、 `PDO::CURSOR_FWDONLY` と `PDO::CURSOR_SCROLL` をサポートしています。 スクローラブルなカーソルが必要ない限り、 `PDO::CURSOR_FWDONLY` のままにしてください。
`PDO::ATTR_DRIVER_NAME` (int)
  ドライバ名を返します。

  例1 `PDO::ATTR_DRIVER_NAME` を使う

      <?php
       if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
         echo "Running on mysql; doing something mysql specific here\n";
       }
       ?>

`PDO::ATTR_ORACLE_NULLS` (int)
  データをフェッチ時に、 空文字を SQL の NULL 値に変換します。
`PDO::ATTR_PERSISTENT` (int)
  新規接続を生成するよりもむしろ持続的接続を要求します。 この属性に関する詳細は、 接続、および接続の管理 を参照ください。
`PDO::ATTR_STATEMENT_CLASS` (int)
  ステートメントが返すクラス名を設定します。
`PDO::ATTR_FETCH_CATALOG_NAMES` (int)
  結果セット中の各カラム名にカタログ名を追加します。 カタログ名とカラム名は、小数点 (.) で区切られます。 この属性のサポートはドライバレベルで行われます。 つまり、お使いのドライバではサポートされていない可能性があります。
`PDO::ATTR_FETCH_TABLE_NAMES` (int)
  結果セット中の各カラム名に、 そのカラムを含むテーブル名を先頭に付加します。 テーブル名とカラム名は小数点(.)で区切られます。 この属性のサポートはドライバレベルで行われます。 つまり、お使いのドライバではサポートされていない可能性があります。
`PDO::ATTR_STRINGIFY_FETCHES` (int)
  全てのフェッチする値 (`null` を除く) を強制的に文字列として扱います。 `PDO::ATTR_ORACLE_NULLS` を `PDO::NULL_TO_STRING` に設定しない限り、 `null` は変更されません。
`PDO::ATTR_MAX_COLUMN_LEN` (int)
  カラム名の最大の長さを設定します。
`PDO::ATTR_DEFAULT_FETCH_MODE` (int)
`PDO::ATTR_EMULATE_PREPARES` (bool)
  プリペアドステートメントのエミュレーションを有効にするか無効にするかを指定します。 ドライバの中には、ネイティブのプリペアドステートメントをサポートしていないものや、 限定的にしかサポートしていないものがあります。`true` が設定された場合、 PDO は常にプリペアドステートメントをエミュレートします。`false` が設定された場合、 ドライバのネイティブなプリペアドステートメントを使用します。 PHP 8.4.0 以降、この定数は bool として型付けされています。 それ以前は、int として型付けされていました。
`PDO::ATTR_DEFAULT_STR_PARAM` (int)
  デフォルトの文字列のパラメータタイプを設定します。 `PDO::PARAM_STR_NATL` と `PDO::PARAM_STR_CHAR` のうち、 いずれかひとつを選べます。 PHP 7.2.0 以降で利用可能です。
`PDO::ERRMODE_SILENT` (int)
  エラー時にエラーもしくは例外を発生させません。 開発者の方は明示的にエラーをチェックするようにしてください。 PHP 8.0.0 より前のバージョンでは、これがデフォルトのモードでした。 この属性に関する詳細は、 エラー及びエラー処理 を参照ください。
`PDO::ERRMODE_WARNING` (int)
  エラーが発生した場合、 PHP の `E_WARNING` メッセージを発行します。 この属性に関する詳細は、 エラー及びエラー処理 を参照ください。
`PDO::ERRMODE_EXCEPTION` (int)
  エラーが発生した場合、 PDOException をスローします。 PHP 8.0.0 以降では、これがデフォルトのモードです。 この属性に関する詳細は、 エラー及びエラー処理 を参照ください。
`PDO::CASE_NATURAL` (int)
  カラム名をデータベースドライバにより返されたままにします。
`PDO::CASE_LOWER` (int)
  カラム名を小文字にします。
`PDO::CASE_UPPER` (int)
  カラム名を大文字にします。
`PDO::NULL_NATURAL` (int)
`PDO::NULL_EMPTY_STRING` (int)
`PDO::NULL_TO_STRING` (int)
`PDO::ERR_NONE` (string)
  SQLSTATE `'00000'` は、 SQL ステートメントがエラーや警告がなく発行に成功したことを意味します。 この定数はエラーが発生したかどうかを判別するために PDO::errorCode() もしくは PDOStatement::errorCode() をチェックする際に 便利です。この場合、通常はエラー状態を発生したメソッドからの戻りコードを 検査することによって検知します。
`PDO::PARAM_EVT_ALLOC` (int)
  割り当てられたときに発生するイベント。
`PDO::PARAM_EVT_FREE` (int)
  割り当てが解除されたときに発生するイベント。
`PDO::PARAM_EVT_EXEC_PRE` (int)
  プリペアドステートメントの実行前に発生するイベント。
`PDO::PARAM_EVT_EXEC_POST` (int)
  プリペアドステートメントの実行後に発生するイベント。
`PDO::PARAM_EVT_FETCH_PRE` (int)
  結果セットから結果を取得する前に発生するイベント。
`PDO::PARAM_EVT_FETCH_POST` (int)
  結果セットから結果を取得した後に発生するイベント。
`PDO::PARAM_EVT_NORMALIZE` (int)
  バインドパラメータの登録時に発生するイベント。 これにより、ドライバがパラメータ名を正規化できるようになります。
`PDO::SQLITE_DETERMINISTIC` (int)
  PDO::sqliteCreateFunction() で作られる関数が決定論的であることを指定します。 つまり、同じ入力が与えられると、 単一のSQLステートメントの範疇では同じ結果が常に返されます。 (PHP 7.1.4 以降で使用可能です)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open