PHP
数据库 | Database

PDOStatement::getColumnMeta

PDOStatement::getColumnMeta

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

PDOStatement :: getColumnMeta - 返回结果集中列的元数据

描述

public array PDOStatement::getColumnMeta ( int $column )

将检索结果集中0索引列的元数据作为关联数组。

警告

并非所有的PDO驱动程序都支持PDOStatement :: getColumnMeta()

以下驱动程序支持此方法:

参数

column

结果集中的0索引列。

返回值

返回包含以下代表单个列的元数据的值的关联数组:

名称
native_type用于表示列值的PHP本地类型。
driver:decl_type 用于表示数据库中列值的SQL类型。如果结果集中的列是函数的结果,则该值不会由PDOStatement :: getColumnMeta()返回。
flags 为此列设置的任何标志。
name数据库返回的该列的名称。
table数据库返回的该列表的名称。
len这一栏的长度。对于浮点小数以外的其他类型,通常为-1。
precision此列的数字精度。对于浮点小数以外的其他类型,通常为0。
pdo_type此列的类型由PDO :: PARAM_ *常量表示。

如果请求的列未在结果集中存在,或是没有结果集存在,则返回FALSE

更新日志

描述
5.4.0添加了PDO_DBLIB驱动程序支持
5.2.3表字段

示例

示例#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语句影响的行数

← PDOStatement::getAttribute

PDOStatement::nextRowset →