<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id="function.ingres-fetch-array" xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>ingres_fetch_array</refname> <refpurpose>Fetch a row of result into an array</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>array</type><methodname>ingres_fetch_array</methodname> <methodparam><type>resource</type><parameter>result</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>result_type</parameter></methodparam> </methodsynopsis> <para> This function is an extended version of <function>ingres_fetch_row</function>. In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys. </para> <para> If two or more columns of the result have the same field names, the last column will take precedence. To access the another column or columns of the same name, you must use the numeric index of the column or make an alias for the column. For example: <informalexample> <programlisting role="php"> <![CDATA[ <?php $result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'"); $result = ingres_fetch_array($result); $foo = $result["city"]; $bar = $result["country"]; ?> ]]> </programlisting> </informalexample> </para> <para> With regard to speed, the function is identical to <function>ingres_fetch_object</function>, and almost as quick as <function>ingres_fetch_row</function> (the difference is insignificant). </para> <para> By default, arrays created by <function>ingres_fetch_array</function> start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter <link linkend="ini.ingres.array-index-start">ingres.array_index_start</link>. </para> <note> <title>Related Configurations</title> <para> See also the <link linkend="ini.ingres.array-index-start">ingres.array_index_start</link>, <link linkend="ini.ingres.fetch-buffer-size">ingres.fetch_buffer_size</link> and <link linkend="ini.ingres.utf8">ingres.utf8</link> directives in <link linkend="ingres.configuration">Runtime Configuration</link>. </para> </note> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>result</parameter></term> <listitem> <para> The query result identifier </para> </listitem> </varlistentry> <varlistentry> <term><parameter>result_type</parameter></term> <listitem> <para> The result type. This <parameter>result_type</parameter> can be <constant>INGRES_NUM</constant> for enumerated array, <constant>INGRES_ASSOC</constant> for associative array, or <constant>INGRES_BOTH</constant> (default). </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns an array that corresponds to the fetched row, or &false; if there are no more rows </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title>Fetch a row of result into an array</title> <programlisting role="php"> <![CDATA[ <?php $link = ingres_connect($database, $user, $password); $result = ingres_query($link,"select * from table"); while ($row = ingres_fetch_array($result)) { echo $row["user_id"]; // using associative array echo $row["fullname"]; echo $row[1]; // using enumerated array echo $row[2]; } ?> ]]> </programlisting> </example> </para> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>ingres_query</function></member> <member><function>ingres_num_fields</function></member> <member><function>ingres_field_name</function></member> <member><function>ingres_fetch_assoc</function></member> <member><function>ingres_fetch_object</function></member> <member><function>ingres_fetch_row</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:"~/.phpdoc/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 -->