PDOStatement::getColumnMeta
PDOStatement::getColumnMeta — 返回结果集中一列的元数据(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
说明
语法
array PDOStatement::getColumnMeta ( int $column )
检索一个在结果集中以0开始索引的列的元数据作为一个关联数组。
注意:此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。
注意:并非所有 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*_ 常量为代表的列类型。 |
实例
检索列的元数据
下面例子展示了在一个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)
}