PDOStatement::getColumnMeta

(no version information, might be only in CVS)

PDOStatement::getColumnMeta --  Returns metadata for a column in a result set

说明

mixed PDOStatement::getColumnMeta ( int column )

警告

本函数是实验性的。本函数的行为,包括函数名称以及其它任何关于本函数的文档可能会在没有通知的情况下随 PHP 以后的发布而改变。使用本函数风险自担。

Retrieves the metadata for a 0-indexed column in a result set as an associative array.

警告

Not all PDO drivers support PDOStatement::getColumnMeta().

参数

column

The 0-indexed column in the result set.

返回值

Returns an associative array containing the following values representing the metadata for a single column:

表格 1. Column metadata

NameValue
native_typeThe PHP native type used to represent the column value.
driver:decl_typeThe SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement::getColumnMeta().
flagsAny flags set for this column.
nameThe name of this column as returned by the database.
lenThe length of this column. Normally -1 for types other than floating point decimals.
precisionThe numeric precision of this column. Normally 0 for types other than floating point decimals.
pdo_typeThe type of this column as represented by the PDO_PARAM_* constants.

Returns FALSE if the requested column does not exist in the result set, or if no result set exists.

例子 1. Retrieving column metadata

The following example shows the results of retrieving the metadata for a single column generated by a function (COUNT) in a PDO_SQLITE driver.

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