<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<refentry xml:id="function.cubrid-fetch-array" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>cubrid_fetch_array</refname>
  <refpurpose>Fetch a result row as an associative array, a numeric array, or both</refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>array</type><methodname>cubrid_fetch_array</methodname>
   <methodparam><type>resource</type><parameter>result</parameter></methodparam>  
   <methodparam choice="opt"><type>int</type><parameter>type</parameter><initializer>CUBRID_BOTH</initializer></methodparam>
  </methodsynopsis>
  <para>
    The <function>cubrid_fetch_array</function> function is used to get a
    single row from the query result and returns an array. The cursor
    automatically moves to the next row after getting the result.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
  <variablelist>
   <varlistentry>
    <term><parameter>result</parameter></term>
    <listitem><para><parameter>Result</parameter> comes from a call to <function>cubrid_execute</function></para></listitem>
   </varlistentry>
   <varlistentry>
    <term><parameter>type</parameter></term>
    <listitem><para>Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC,
      CUBRID_BOTH. If you need to operate the lob object, you can use CUBRID_LOB.</para></listitem>
   </varlistentry>
  </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>Returns an array of strings that corresponds to the fetched row, when process is successful.</para>
  <para>&false;, when there are no more rows; NULL, when process is unsuccessful.</para>
  <para>The type of returned array depends on how type is defined. By using CUBRID_BOTH (default), you'll get an array with both associative and number indices, and you can decide which data type to use by setting the <parameter>type</parameter> argument. The <parameter>type</parameter> variable can be set to one of the following values:</para>
    <simplelist>
        <member>CUBRID_NUM : Numerical array (0-based)</member>
        <member>CUBRID_ASSOC : Associative array</member>
        <member>CUBRID_BOTH : Numerical &amp; Associative array (default)</member>
    </simplelist>  
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <example>
   <title><function>cubrid_fetch_array</function> example</title>
   <programlisting role="php">
<![CDATA[
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_array($req, CUBRID_NUM)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_array($req, CUBRID_NUM | CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>
]]>
   </programlisting>
    &example.outputs;
    <screen>
<![CDATA[
name                                     area       seats  address             
Panathinaiko Stadium                     86300.00   50000  Athens, Greece      
Olympic Stadium                          54700.00   13000  Athens, Greece      
Olympic Indoor Hall                      34100.00   18800  Athens, Greece      
Olympic Hall                             52400.00   21000  Athens, Greece      
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece      
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece 
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece
]]>
   </screen>

  </example>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
   <member><function>cubrid_execute</function></member>
   <member><function>cubrid_fetch</function></member>
   <member><function>cubrid_fetch_row</function></member>
   <member><function>cubrid_fetch_assoc</function></member>
   <member><function>cubrid_fetch_object</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
-->
