PDOStatement::getColumnMeta

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

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

説明

publicPDOStatement::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_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) }

参考

To Top