<!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 associative array</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.mysql-fetch-array.html">mysql_fetch_array</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.mysql-fetch-field.html">mysql_fetch_field</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-assoc" class="refentry"> <div class="refnamediv"> <h1 class="refname">mysql_fetch_assoc</h1> <p class="verinfo">(PHP 4 >= 4.0.3, PHP 5)</p><p class="refpurpose"><span class="refname">mysql_fetch_assoc</span> — <span class="dc-title">Fetch a result row as an associative array</span></p> </div> <div id="function.mysql-fetch-assoc-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-assoc.html" class="function">mysqli_fetch_assoc()</a></span></li> <li class="member"> <span class="methodname"><a href="pdostatement.fetch.html" class="methodname">PDOStatement::fetch(PDO::FETCH_ASSOC)</a></span></li> </ul> </div> </div> <div class="refsect1 description" id="refsect1-function.mysql-fetch-assoc-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">array</span> <span class="methodname"><strong>mysql_fetch_assoc</strong></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$result</code></span> )</div> <p class="para rdfs-comment"> Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. <span class="function"><strong>mysql_fetch_assoc()</strong></span> is equivalent to calling <span class="function"><a href="function.mysql-fetch-array.html" class="function">mysql_fetch_array()</a></span> with MYSQL_ASSOC for the optional second parameter. It only returns an associative array. </p> </div> <div class="refsect1 parameters" id="refsect1-function.mysql-fetch-assoc-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> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.mysql-fetch-assoc-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns an associative array of strings that corresponds to the fetched row, or <strong><code>FALSE</code></strong> if there are no more rows. </p> <p class="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 <span class="function"><a href="function.mysql-fetch-row.html" class="function">mysql_fetch_row()</a></span> or add alias names. See the example at the <span class="function"><a href="function.mysql-fetch-array.html" class="function">mysql_fetch_array()</a></span> description about aliases. </p> </div> <div class="refsect1 examples" id="refsect1-function.mysql-fetch-assoc-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-1583"> <p><strong>Example #1 An expanded <span class="function"><strong>mysql_fetch_assoc()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br />$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"mysql_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"mysql_password"</span><span style="color: #007700">);<br /><br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"Unable to connect to DB: " </span><span style="color: #007700">. </span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">();<br /> exit;<br />}<br /><br />if (!</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">"mydbname"</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #DD0000">"Unable to select mydbname: " </span><span style="color: #007700">. </span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">();<br /> exit;<br />}<br /><br /></span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT id as userid, fullname, userstatus<br /> FROM sometable<br /> WHERE userstatus = 1"</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: #0000BB">$sql</span><span style="color: #007700">);<br /><br />if (!</span><span style="color: #0000BB">$result</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"Could not successfully run query (</span><span style="color: #0000BB">$sql</span><span style="color: #DD0000">) from DB: " </span><span style="color: #007700">. </span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">();<br /> exit;<br />}<br /><br />if (</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">) == </span><span style="color: #0000BB">0</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"No rows found, nothing to print so am exiting"</span><span style="color: #007700">;<br /> exit;<br />}<br /><br /></span><span style="color: #FF8000">// While a row of data exists, put that row in $row as an associative array<br />// Note: If you're expecting just one row, no need to use a loop<br />// Note: If you put extract($row); inside the following loop, you'll<br />// then create $userid, $fullname, and $userstatus<br /></span><span style="color: #007700">while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_fetch_assoc</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: #DD0000">"userid"</span><span style="color: #007700">];<br /> echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"fullname"</span><span style="color: #007700">];<br /> echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"userstatus"</span><span style="color: #007700">];<br />}<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 /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 notes" id="refsect1-function.mysql-fetch-assoc-notes"> <h3 class="title">Notes</h3> <blockquote class="note"><p><strong class="note">Note</strong>: <strong>Performance</strong><br /> <p class="para"> An important thing to note is that using <span class="function"><strong>mysql_fetch_assoc()</strong></span> is <em class="emphasis">not significantly</em> slower than using <span class="function"><a href="function.mysql-fetch-row.html" class="function">mysql_fetch_row()</a></span>, while it provides a significant added value. </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-assoc-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <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-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-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> <li class="member"> <span class="function"><a href="function.mysql-error.html" class="function" rel="rdfs-seeAlso">mysql_error()</a> - Returns the text of the error message from previous MySQL operation</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-array.html">mysql_fetch_array</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.mysql-fetch-field.html">mysql_fetch_field</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>