結果セットのカラムに対するメタデータを返す

# PDOStatement::getColumnMeta

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

PDOStatement::getColumnMeta — 結果セットのカラムに対するメタデータを返す

### 説明

public function PDOStatement::getColumnMeta(int `$column`): array|false

結果セットの 0 から始まるカラムに対するメタデータを連想配列で取得します。

警告

PDO ドライバによっては、 PDOStatement::getColumnMeta() を実装していないかもしれません。 なぜなら、これはオプションだからです。 しかし、このマニュアルでドキュメント化されている全ての PDO ドライバ はこの関数を実装しています。

### パラメータ

`column`

  結果セットの 0 から始まるカラムを指定します。

### 戻り値

1つのカラムについてのメタデータに相当する次の値を含んだ連想配列を返します。

カラムのメタデータ
名前 | 値
--- | ---
`native_type` | カラム値を表現するために使用される PHP のネイティブ型
`driver:decl_type` | データベースにおけるカラム値を表現するために使用される SQL 型。 もし、結果セットのカラムが関数から返される場合、 この値は PDOStatement::getColumnMeta(). よって返されません。
`flags` | このカラムにセットされているあらゆるフラグ
`name` | データベースによって返されるこのカラムの名前
`table` | データベースによって返されるこのカラムのテーブル名
`len` | カラム長。浮動小数点数以外の型については通常 `-1` となる。
`precision` | カラムの数値精度。浮動小数点数以外の型については通常 `0` となる。
`pdo_type` | `PDO::PARAM_*` 定数 によって表現されるカラムの型

要求されたカラムが結果セットに存在しない、 もしくは結果セットが存在しない場合、`false` を返します。

### 例

例1 カラムのメタデータを取得する

以下の例は、PDO_SQLITE ドライバでの関数 (COUNT) によって生成された単一のカラムに対するメタデータの 取得結果を表示します。

    <?php
    $select = $DB->query('SELECT COUNT(*) FROM fruit');
    $meta = $select->getColumnMeta(0);
    var_dump($meta);
    ?>

上の例の出力は以下となります。

    array(6) {
      ["native_type"]=>
      string(7) "integer"
      ["flags"]=>
      array(0) {
      }
      ["name"]=>
      string(8) "COUNT(*)"
      ["len"]=>
      int(-1)
      ["precision"]=>
      int(0)
      ["pdo_type"]=>
      int(2)
    }

### 参考

- PDOStatement::columnCount() - 結果セット中のカラム数を返す
- PDOStatement::rowCount() - 直近の SQL ステートメントによって作用した行数を返す

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