<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<refentry xml:id="function.msql-fetch-object" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>msql_fetch_object</refname>
  <refpurpose>Fetch row as object</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>object</type><methodname>msql_fetch_object</methodname>
   <methodparam><type>resource</type><parameter>result</parameter></methodparam>
   <!-- Undocumented confusing feature: <methodparam choice="opt"><type>int</type><parameter>result_type</parameter></methodparam> -->
  </methodsynopsis>
  <para>
   <function>msql_fetch_object</function> is similar to
   <function>msql_fetch_array</function>, with one difference - an
   object is returned, instead of an array.  Indirectly, that means
   that you can only access the data by the field names, and not by
   their offsets (numbers are illegal property names).
  </para>  
  <para>
   Speed-wise, the function is identical to
   <function>msql_fetch_array</function>, and almost as quick as
   <function>msql_fetch_row</function> (the difference is
   insignificant).
  </para>
 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    &msql.result.description;
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns an object with properties that correspond to the fetched
   row, or &false; if there are no more rows.
  </para>
 </refsect1>
 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title><function>msql_fetch_object</function> example</title>
    <programlisting role="php">
<![CDATA[
<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_object($result, MSQL_ASSOC)) {
    echo $row->id . ': ' . $row->name . "\n";
}

msql_free_result($result);
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>
 <refsect1 role="changelog">
  &reftitle.changelog;
  <para>
   <informaltable>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>&Version;</entry>
       <entry>&Description;</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>4.3.11 and 5.0.4 </entry>
       <entry>
        A bug was fixed when retrieving data from columns containing &null; 
        values. Such columns were not placed into the resulting array.
       </entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </refsect1>
 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>msql_fetch_array</function></member>
    <member><function>msql_fetch_row</function></member>
    <member><function>msql_data_seek</function></member>
    <member><function>msql_result</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
-->