PDOStatement::getColumnMeta

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

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

Description

publicarrayPDOStatement::getColumnMeta
( int$column
)

Warning

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.

Warning

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

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.

while($row = $pdo_stmt->fetch(PDO::FETCH_NUM)){ foreach($row as $column_index => $column_value) {//do something with the data, using the ids to establish the discussion.has_many(comments) relationship.}}

?>

If you are building an ORM, this method is very useful to support more natural SQL syntax. Most ORMs require the column names to be aliases so that they can be parsed and turned into objects that properly represent has_one, has_many, many_to_many relationships.