<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.15 $ -->
  <refentry id="function.mysqli-fetch-assoc">
   <refnamediv>
    <refname>mysqli_fetch_assoc</refname>
    <refname>mysqli->fetch_assoc</refname>
    <refpurpose>Fetch a result row as an associative array</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
    <para>Procedural style:</para>
     <methodsynopsis>
      <type>array</type><methodname>mysqli_fetch_assoc</methodname>
      <methodparam><type>object</type><parameter>result</parameter></methodparam>
     </methodsynopsis>
    <para>Object oriented style (method):</para>
     <classsynopsis>
      <ooclass><classname>result</classname></ooclass>
      <methodsynopsis>
       <type>array</type>
       <methodname>fetch_assoc</methodname>
       <void />
      </methodsynopsis>
     </classsynopsis>
    <para>
     Returns an associative array that corresponds to the fetched row or &null; if there are 
     no more rows.
    </para>
    <para>
     The <function>mysqli_fetch_assoc</function> function is used to return an associative array
     representing the next row in the result set for the result represented by the
     <parameter>result</parameter> parameter, where each key in the array represents the name
     of one of the result set's columns. 
    </para>
    <para>
     If two or more columns of the result have the same field names,
     the last column will take precedence. To access the other
     column(s) of the same name, you either need to access the
     result with numeric indices by using
     <function>mysqli_fetch_row</function> or add alias names.
    </para>
    &database.field-case;
    &database.fetch-null;
   </refsect1>
   <refsect1>
    <title>Return values</title>
    <para>
     Returns an array that corresponds to the fetched row or &null; if there are no more rows in resultset.
    </para>
   </refsect1>
   <refsect1>
    <title>See also</title>
    <para>
     <function>mysqli_fetch_array</function>,
     <function>mysqli_fetch_row</function>,
     <function>mysqli_fetch_object</function>.
    </para>
   </refsect1>
   <refsect1>
    <title>Example</title>
    <example>
     <title>Object oriented style</title>
     <programlisting role="php">
<![CDATA[
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>
]]>
    </programlisting>
    </example>
    <example>
     <title>Procedural style</title>
     <programlisting role="php">
<![CDATA[
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>
]]>
     </programlisting>
    </example>
    <para>
     The above examples would produce the following output:
    </para>
    <screen>
<![CDATA[
Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)
]]>
    </screen>
   </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
-->