PDOStatement::getColumnMeta

(no version information, might be only in CVS)

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

説明

mixed PDOStatement::getColumnMeta ( int column )

警告

この関数は、 実験的なステータスにあります。これは、この関数の 動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告 なく変更される可能性があることを意味します。注意を喚起するとともに自分 のリスクでこの関数を使用してください。

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

警告

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

パラメータ

column

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

戻り値

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

表 1. カラムのメタデータ

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