PDOStatement::getColumnMeta

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

PDOStatement::getColumnMeta 返回結(jié)果集中一列的元數(shù)據(jù)

說明

PDOStatement::getColumnMeta(int $column): array
警告

此函數(shù)是實驗性的。此函數(shù)的表象,包括名稱及其相關(guān)文檔都可能在未來的 PHP 發(fā)布版本中未通知就被修改。使用本函數(shù)風險自擔。

檢索一個在結(jié)果集中以0開始索引的列的元數(shù)據(jù)作為一個關(guān)聯(lián)數(shù)組。

警告

并非所有 PDO 驅(qū)動都支持 PDOStatement::getColumnMeta()。

參數(shù)

column

結(jié)果集中以0開始索引的列。

返回值

返回一個關(guān)聯(lián)數(shù)組,它包含了下列表示一個單獨列的元數(shù)據(jù)的值:

列的元數(shù)據(jù)
名稱
native_type 用于表示列值的 PHP 原生類型。
driver:decl_type 在數(shù)據(jù)庫中用于表示列值的 SQL 類型。如果結(jié)果集中的列是一個函數(shù)的結(jié)果,則該值不能被 PDOStatement::getColumnMeta() 返回。
flags 任何設置于此列的標記。
name 通過數(shù)據(jù)庫返回的列名。
table 通過數(shù)據(jù)庫返回的該列的表名
len 該列的長度。除浮點小數(shù)外通常為 -1
precision 該列的數(shù)值精度。除浮點小數(shù)外通常為 0 。
pdo_type PDO::PARAM_* 常量為代表的列類型。

如果結(jié)果集不存在,或者是請求的列在結(jié)果集中不存在,則返回 false 。

更新日志

版本 說明
5.2.3 table 字段

范例

示例 #1 檢索列的元數(shù)據(jù)

下面例子展示了在一個PDO_SQLITE中,檢索一個通過函數(shù)(COUNT)生成單獨列的元數(shù)據(jù)的結(jié)果。

<?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)
}

參見