(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — Returns metadata for a column in a result set
$column
) : arrayRetrieves the metadata for a 0-indexed column in a result set as an associative array.
Not all PDO drivers support PDOStatement::getColumnMeta().
The following drivers support this method:
column
The 0-indexed column in the result set.
Returns an associative array containing the following values representing the metadata for a single column:
Name | Value |
---|---|
native_type |
The PHP native type used to represent the column value. |
driver:decl_type |
The 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(). |
flags |
Any flags set for this column. |
name |
The name of this column as returned by the database. |
table |
The name of this column's table as returned by the database. |
len |
The length of this column. Normally -1 for
types other than floating point decimals. |
precision |
The numeric precision of this column. Normally
0 for types other than floating point
decimals. |
pdo_type |
The 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.
Beispiel #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);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(6) { ["native_type"]=> string(7) "integer" ["flags"]=> array(0) { } ["name"]=> string(8) "COUNT(*)" ["len"]=> int(-1) ["precision"]=> int(0) ["pdo_type"]=> int(2) }