Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...

When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store


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

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


public array PDOStatement::getColumnMeta ( int $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().



The 0-indexed column in the result set.

Return Values

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

Column metadata
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.

$DB->query('SELECT COUNT(*) FROM fruit');
$meta $select->getColumnMeta(0);

The above example will output:

array(6) {
  string(7) "integer"
  array(0) {
  string(8) "COUNT(*)"

See Also

PHP Manual