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
|
カラム長。浮動小数点数以外の型については通常
|
precision
|
カラムの数値精度。浮動小数点数以外の型については通常
|
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) }
参考
- PDOStatement::columnCount() - 結果セット中のカラム数を返す
- PDOStatement::rowCount() - 直近の SQL ステートメントによって作用した行数を返す