(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
PDOStatement->getColumnMeta — 結果セットのカラムに対するメタデータを返す
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。
結果セットの 0 から始まるカラムに対するメタデータを連想配列で取得します。
PDO ドライバの全てが PDOStatement::getColumnMeta(). をサポートしているわけではありません。
結果セットの 0 から始まるカラムを指定します。
1つのカラムについてのメタデータに相当する次の値を含んだ連想配列を返します。
| 名前 | 値 | 
|---|---|
| native_type | カラム値を表現するために使用される PHP のネイティブ型 | 
| driver:decl_type | データベースにおけるカラム値を表現するために使用される SQL 型。 もし、結果セットのカラムが関数から返される場合、 この値は PDOStatement::getColumnMeta(). よって返されません。 | 
| flags | このカラムにセットされているあらゆるフラグ | 
| name | データベースによって返されるこのカラムの名前 | 
| table | データベースによって返されるこのカラムのテーブル名 | 
| len | カラム長。浮動小数点数以外の型については通常 -1 となる。 | 
| precision | カラムの数値精度。浮動小数点数以外の型については通常 0 となる。 | 
| pdo_type | PDO::PARAM_* 定数によって表現されるカラムの型 | 
要求されたカラムが結果セットに存在しない、 もしくは結果セットが存在しない場合、FALSE を返します。
| バージョン | 説明 | 
|---|---|
| 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)
}