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

# PDOStatement::getColumnMeta

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

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

### 説明

public PDOStatement::getColumnMeta ( int `$column` ) : array

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

警告

PDO ドライバの全てが PDOStatement::getColumnMeta(). をサポートしているわけではありません。

以下のドライバがこのメソッドをサポートします。

- PDO_DBLIB
- PDO_MYSQL
- PDO_PGSQL
- PDO_SQLITE

### パラメータ

`column`

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

### 返り値

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

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

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

### 変更履歴

バージョン | 説明
--- | ---
5.4.0 | PDO_DBLIB ドライバのサポートが追加されました
5.2.3 | table フィールド

### 例

例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 ステートメントによって作用した行数を返す