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开始索引的列的元数据作为一个关联数组。

警告

一些驱动程序可能没有实现 PDOStatement::getColumnMeta(),因为它是可选的。但是,手册中记录的所有 PDO 驱动程序都实现了此功能。

参数

column

结果集中以0开始索引的列。

返回值

返回一个关联数组,它包含了下列表示一个单独列的元数据的值:

列的元数据
名称
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