<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Fetch a result row as an object</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.mysql-fetch-lengths.html">mysql_fetch_lengths</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.mysql-fetch-row.html">mysql_fetch_row</a></div> <div class="up"><a href="ref.mysql.html">MySQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.mysql-fetch-object" class="refentry"> <div class="refnamediv"> <h1 class="refname">mysql_fetch_object</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">mysql_fetch_object</span> — <span class="dc-title">Fetch a result row as an object</span></p> </div> <div id="function.mysql-fetch-object-refsynopsisdiv"> <div class="warning"><strong class="warning">Warning</strong> <p class="para">This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the <a href="book.mysqli.html" class="link">MySQLi</a> or <a href="ref.pdo-mysql.html" class="link">PDO_MySQL</a> extension should be used. See also <a href="mysqlinfo.api.choosing.html" class="link">MySQL: choosing an API</a> guide and <a href="faq.databases.html#faq.databases.mysql.deprecated" class="link">related FAQ</a> for more information. Alternatives to this function include:</p> <ul class="simplelist"> <li class="member"> <span class="function"><a href="mysqli-result.fetch-object.html" class="function">mysqli_fetch_object()</a></span></li> <li class="member"> <span class="methodname"><a href="pdostatement.fetch.html" class="methodname">PDOStatement::fetch(PDO::FETCH_OBJ)</a></span></li> </ul> </div> </div> <div class="refsect1 description" id="refsect1-function.mysql-fetch-object-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">object</span> <span class="methodname"><strong>mysql_fetch_object</strong></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$result</code></span> [, <span class="methodparam"><span class="type">string</span> <code class="parameter">$class_name</code></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$params</code></span> ]] )</div> <p class="para rdfs-comment"> Returns an object with properties that correspond to the fetched row and moves the internal data pointer ahead. </p> </div> <div class="refsect1 parameters" id="refsect1-function.mysql-fetch-object-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter"> result</code></em></span><dd> <p class="para">The result <span class="type"><a href="language.types.resource.html" class="type resource">resource</a></span> that is being evaluated. This result comes from a call to <span class="function"><a href="function.mysql-query.html" class="function">mysql_query()</a></span>.</p></dd> </dt> <dt> <span class="term"><em><code class="parameter">class_name</code></em></span> <dd> <p class="para"> The name of the class to instantiate, set the properties of and return. If not specified, a <strong class="classname">stdClass</strong> object is returned. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">params</code></em></span> <dd> <p class="para"> An optional <span class="type"><a href="language.types.array.html" class="type array">array</a></span> of parameters to pass to the constructor for <em><code class="parameter">class_name</code></em> objects. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.mysql-fetch-object-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns an <span class="type"><a href="language.types.object.html" class="type object">object</a></span> with string properties that correspond to the fetched row, or <strong><code>FALSE</code></strong> if there are no more rows. </p> </div> <div class="refsect1 changelog" id="refsect1-function.mysql-fetch-object-changelog"> <h3 class="title">Changelog</h3> <p class="para"> <table class="doctable informaltable"> <thead> <tr> <th>Version</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>5.0.0</td> <td> Added the ability to return as a different object. </td> </tr> </tbody> </table> </p> </div> <div class="refsect1 examples" id="refsect1-function.mysql-fetch-object-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-1586"> <p><strong>Example #1 <span class="function"><strong>mysql_fetch_object()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"hostname"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">"mydb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"select * from mytable"</span><span style="color: #007700">);<br />while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_fetch_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-></span><span style="color: #0000BB">user_id</span><span style="color: #007700">;<br /> echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-></span><span style="color: #0000BB">fullname</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">mysql_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-1587"> <p><strong>Example #2 <span class="function"><strong>mysql_fetch_object()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br /> public </span><span style="color: #0000BB">$name</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"hostname"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">"mydb"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"select name from mytable limit 1"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$obj </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_fetch_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">, </span><span style="color: #DD0000">'foo'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 notes" id="refsect1-function.mysql-fetch-object-notes"> <h3 class="title">Notes</h3> <blockquote class="note"><p><strong class="note">Note</strong>: <strong>Performance</strong><br /> <p class="para"> Speed-wise, the function is identical to <span class="function"><a href="function.mysql-fetch-array.html" class="function">mysql_fetch_array()</a></span>, and almost as quick as <span class="function"><a href="function.mysql-fetch-row.html" class="function">mysql_fetch_row()</a></span> (the difference is insignificant). </p> </p></blockquote> <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para"> <span class="function"><strong>mysql_fetch_object()</strong></span> is similar to <span class="function"><a href="function.mysql-fetch-array.html" class="function">mysql_fetch_array()</a></span>, 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). </p> </p></blockquote> <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">Field names returned by this function are <em class="emphasis">case-sensitive</em>.</span></p></blockquote> <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">This function sets NULL fields to the PHP <strong><code>NULL</code></strong> value.</span></p></blockquote> </div> <div class="refsect1 seealso" id="refsect1-function.mysql-fetch-object-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.mysql-fetch-array.html" class="function" rel="rdfs-seeAlso">mysql_fetch_array()</a> - Fetch a result row as an associative array, a numeric array, or both</span></li> <li class="member"> <span class="function"><a href="function.mysql-fetch-assoc.html" class="function" rel="rdfs-seeAlso">mysql_fetch_assoc()</a> - Fetch a result row as an associative array</span></li> <li class="member"> <span class="function"><a href="function.mysql-fetch-row.html" class="function" rel="rdfs-seeAlso">mysql_fetch_row()</a> - Get a result row as an enumerated array</span></li> <li class="member"> <span class="function"><a href="function.mysql-data-seek.html" class="function" rel="rdfs-seeAlso">mysql_data_seek()</a> - Move internal result pointer</span></li> <li class="member"> <span class="function"><a href="function.mysql-query.html" class="function" rel="rdfs-seeAlso">mysql_query()</a> - Send a MySQL query</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.mysql-fetch-lengths.html">mysql_fetch_lengths</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.mysql-fetch-row.html">mysql_fetch_row</a></div> <div class="up"><a href="ref.mysql.html">MySQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>