php-doc-en/reference/pdo/functions/PDOStatement-getColumnMeta.xml
2006-02-21 16:45:06 +00:00

216 lines
5.2 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. -->
<refentry id="function.PDOStatement-getColumnMeta">
<refnamediv>
<refname>PDOStatement::getColumnMeta</refname>
<refpurpose>
Returns metadata for a column in a result set
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>PDOStatement::getColumnMeta</methodname>
<methodparam><type>int</type><parameter>column</parameter></methodparam>
</methodsynopsis>
&warn.experimental.func;
<para>
Retrieves the metadata for a 0-indexed column in a result set as an
associative array.
</para>
<warning>
<simpara>
Not all PDO drivers support
<function>PDOStatement::getColumnMeta</function>.
</simpara>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>column</parameter></term>
<listitem>
<para>
The 0-indexed column in the result set.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an associative array containing the following values representing
the metadata for a single column:
</para>
<table>
<title>Column metadata</title>
<tgroup cols='2'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<thead>
<row>
<entry>Name</entry>
<entry>Value</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>native_type</literal></entry>
<entry>The PHP native type used to represent the column value.</entry>
</row>
<row>
<entry><literal><varname>driver</varname>:decl_type</literal></entry>
<entry>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 <function>PDOStatement::getColumnMeta</function>.
</entry>
</row>
<row>
<entry><literal>flags</literal></entry>
<entry>Any flags set for this column.</entry>
</row>
<row>
<entry><literal>name</literal></entry>
<entry>The name of this column as returned by the database.</entry>
</row>
<row>
<entry><literal>len</literal></entry>
<entry>The length of this column. Normally <literal>-1</literal> for
types other than floating point decimals.</entry>
</row>
<row>
<entry><literal>precision</literal></entry>
<entry>The numeric precision of this column. Normally
<literal>0</literal> for types other than floating point
decimals.</entry>
</row>
<row>
<entry><literal>pdo_type</literal></entry>
<entry>The type of this column as represented by the
<literal>PDO::PARAM_*</literal> constants.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
Returns &false; if the requested column does not exist in the result set,
or if no result set exists.
</para>
</refsect1>
<!-- Use when EXCEPTIONS exist
<refsect1 role="exceptions">
&reftitle.exceptions;
<para>
When does this function throw exceptions?
</para>
</refsect1>
-->
<!-- Use when a CHANGELOG exists
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>Enter the PHP version of change here
<entry>Description of change
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
-->
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Retrieving column metadata</title>
<para>
The following example shows the results of retrieving the metadata for a
single column generated by a function (COUNT) in a PDO_SQLITE driver.
</para>
<programlisting role="php">
<![CDATA[
<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(6) {
["native_type"]=>
string(7) "integer"
["flags"]=>
array(0) {
}
["name"]=>
string(8) "COUNT(*)"
["len"]=>
int(-1)
["precision"]=>
int(0)
["pdo_type"]=>
int(2)
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>PDOStatement::columnCount</function></member>
<member><function>PDOStatement::rowCount</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->