Php/docs/pdostatement.getcolumnmeta

来自菜鸟教程
跳转至:导航、​搜索

PDOStatement::getColumnMeta

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

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


说明

PDOStatement::getColumnMeta ( int $column ) : array

Warning 此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担。


检索一个在结果集中以0开始索引的列的元数据作为一个关联数组。

Warning 并非所有 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.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)
}

参见