Returns metadata for a column in a result set

# PDOStatement::getColumnMeta

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

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

### Description

public PDOStatement::getColumnMeta(int `$column`): array|false

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

Warning

Some drivers may not implement PDOStatement::getColumnMeta(), as it is optional. However, all PDO drivers documented in the manual implement this function.

### Parameters

`column`

  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.

### Examples

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

### See Also

- PDOStatement::columnCount() - Returns the number of columns in the result set
- PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open