(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — Returns metadata for a column in a result set
$column
)This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.
Retrieves the metadata for a 0-indexed column in a result set as an associative array.
Not all PDO drivers support PDOStatement::getColumnMeta().
columnThe 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.
| Version | Description |
|---|---|
| 5.2.3 | table field |
Example #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);
?>
The above example will output:
array(6) {
["native_type"]=>
string(7) "integer"
["flags"]=>
array(0) {
}
["name"]=>
string(8) "COUNT(*)"
["len"]=>
int(-1)
["precision"]=>
int(0)
["pdo_type"]=>
int(2)
}