Php/docs/pdostatement.getcolumnmeta

提供:Dev Guides
< Php
移動先:案内検索

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(). をサポートしているわけではありません。


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


パラメータ

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)
}

参考