PDOStatement::getColumnMeta
(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — 返回结果集中一列的元数据
说明
array PDOStatement::getColumnMeta
( int $column
)
Warning
此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的
PHP 发布版本中未通知就被修改。使用本函数风险自担 。
检索一个在结果集中以0开始索引的列的元数据作为一个关联数组。
Warning
并非所有 PDO 驱动都支持 PDOStatement::getColumnMeta()。
参数
column
结果集中以0开始索引的列。
返回值
返回一个关联数组,它包含了下列表示一个单独列的元数据的值:
<strong>列的元数据</strong>
名称
值
native_type
用于表示列值的 PHP 原生类型。
driver:decl_type
在数据库中用于表示列值的 SQL 类型。如果结果集中的列是一个函数的结果,则该值不能被 <strong>PDOStatement::getColumnMeta()</strong> 返回。
flags
任何设置于此列的标记。
name
通过数据库返回的列名。
table
通过数据库返回的该列的表名
len
该列的长度。除浮点小数外通常为 -1
precision
该列的数值精度。除浮点小数外通常为 0 。
pdo_type
以 PDO::PARAM_* 常量为代表的列类型。
如果结果集不存在,或者是请求的列在结果集中不存在,则返回 FALSE
。
更新日志
版本 说明 5.2.3 table 字段
范例
Example #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 语句影响的行数