uTools-Manuals/docs/php/mysql_fetch_assoc.html
2019-04-28 19:00:34 +08:00

127 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>从结果集中取得一行作为关联数组</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.mysql-fetch-assoc" class="refentry">
<div class="refnamediv">
<h1 class="refname">mysql_fetch_assoc</h1>
<p class="verinfo">(PHP 4 &gt;= 4.0.3, PHP 5)</p><p class="refpurpose"><span class="refname">mysql_fetch_assoc</span> &mdash; <span class="dc-title">
从结果集中取得一行作为关联数组
</span></p>
</div>
<div id="function.mysql-fetch-assoc-refsynopsisdiv">
<div class="warning"><strong class="warning">Warning</strong>
<p class="para">本扩展自 PHP 5.5.0
起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 <a href="book.mysqli.html" class="link">MySQLi</a>
<a href="ref.pdo_mysql.html" class="link">PDO_MySQL</a> 扩展来替换之。参见
<a href="mysqlinfo.api.choosing.html" class="link">MySQL选择 API</a> 指南以及<a href="faq.databases.html#faq.databases.mysql.deprecated" class="link">相关 FAQ</a> 来获取更多信息。用以替代本函数的有:</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">说明</h3>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>mysql_fetch_assoc</strong></span>
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$result</code></span>
) : <span class="type">array</span></div>
<p class="para rdfs-comment">
返回对应结果集的关联数组,并且继续移动内部数据指针。
<span class="function"><strong>mysql_fetch_assoc()</strong></span> 和用
<span class="function"><a href="mysql_fetch_array.html" class="function">mysql_fetch_array()</a></span> 加上第二个可选参数
MYSQL_ASSOC 完全相同。它仅仅返回关联数组。
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.mysql-fetch-assoc-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">
result</code></dt>
<dd>
<p class="para"><span class="type"><a href="language.types.resource.html" class="type resource">resource</a></span>
型的结果集。此结果集来自对 <span class="function"><a href="mysql_query.html" class="function">mysql_query()</a></span>
的调用。</p></dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.mysql-fetch-assoc-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
返回根据从结果集取得的行生成的关联数组;如果没有更多行则返回 <strong><code>FALSE</code></strong>
</p>
<p class="para">
如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,要么用
<span class="function"><a href="mysql_fetch_row.html" class="function">mysql_fetch_row()</a></span>
来取得数字索引或给该列起个别名。
参见
<span class="function"><a href="mysql_fetch_array.html" class="function">mysql_fetch_array()</a></span> 例子中有关别名说明。
</p>
</div>
<div class="refsect1 examples" id="refsect1-function.mysql-fetch-assoc-examples">
<h3 class="title">范例</h3>
<p class="para">
<div class="example" id="example-2138">
<p><strong>Example #1 扩展的 <span class="function"><strong>mysql_fetch_assoc()</strong></span> 例子</strong></p>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /><br />$conn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mysql_user"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mysql_password"</span><span style="color: #007700">);<br /><br />if&nbsp;(!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Unable&nbsp;to&nbsp;connect&nbsp;to&nbsp;DB:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />}<br />&nbsp;&nbsp;<br />if&nbsp;(!</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">"mydbname"</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Unable&nbsp;to&nbsp;select&nbsp;mydbname:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />}<br /><br /></span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;id&nbsp;as&nbsp;userid,&nbsp;fullname,&nbsp;userstatus&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;&nbsp;sometable<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;&nbsp;userstatus&nbsp;=&nbsp;1"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</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&nbsp;(!</span><span style="color: #0000BB">$result</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Could&nbsp;not&nbsp;successfully&nbsp;run&nbsp;query&nbsp;(</span><span style="color: #0000BB">$sql</span><span style="color: #DD0000">)&nbsp;from&nbsp;DB:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />}<br /><br />if&nbsp;(</span><span style="color: #0000BB">mysql_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;rows&nbsp;found,&nbsp;nothing&nbsp;to&nbsp;print&nbsp;so&nbsp;am&nbsp;exiting"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;While&nbsp;a&nbsp;row&nbsp;of&nbsp;data&nbsp;exists,&nbsp;put&nbsp;that&nbsp;row&nbsp;in&nbsp;$row&nbsp;as&nbsp;an&nbsp;associative&nbsp;array<br />//&nbsp;Note:&nbsp;If&nbsp;you're&nbsp;expecting&nbsp;just&nbsp;one&nbsp;row,&nbsp;no&nbsp;need&nbsp;to&nbsp;use&nbsp;a&nbsp;loop<br />//&nbsp;Note:&nbsp;If&nbsp;you&nbsp;put&nbsp;extract($row);&nbsp;inside&nbsp;the&nbsp;following&nbsp;loop,&nbsp;you'll<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;create&nbsp;$userid,&nbsp;$fullname,&nbsp;and&nbsp;$userstatus<br /></span><span style="color: #007700">while&nbsp;(</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_assoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"userid"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"fullname"</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</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">?&gt;</span>
</span>
</pre></div>
</div>
</div>
</p>
</div>
<div class="refsect1 notes" id="refsect1-function.mysql-fetch-assoc-notes">
<h3 class="title">注释</h3>
<blockquote class="note"><p><strong class="note">Note</strong>:
<strong>性能</strong><br />
<p class="para">
必须指出一个要点:
<span class="function"><strong>mysql_fetch_assoc()</strong></span>
<span class="function"><a href="mysql_fetch_row.html" class="function">mysql_fetch_row()</a></span>
<em class="emphasis">不明显</em>
慢,而且还提供了更多有用的值。
</p>
</p></blockquote>
<blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">此函数返回的字段名<em class="emphasis">大小写敏感</em></span></p></blockquote>
<blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">此函数将 NULL 字段设置为 PHP <strong><code>NULL</code></strong> 值。</span></p></blockquote>
</div>
<div class="refsect1 seealso" id="refsect1-function.mysql-fetch-assoc-seealso">
<h3 class="title">参见</h3>
<p class="para">
<ul class="simplelist">
<li class="member"><span class="function"><a href="mysql_fetch_row.html" class="function" rel="rdfs-seeAlso">mysql_fetch_row()</a> - 从结果集中取得一行作为枚举数组</span></li>
<li class="member"><span class="function"><a href="mysql_fetch_array.html" class="function" rel="rdfs-seeAlso">mysql_fetch_array()</a> - 从结果集中取得一行作为关联数组,或数字数组,或二者兼有</span></li>
<li class="member"><span class="function"><a href="mysql_data_seek.html" class="function" rel="rdfs-seeAlso">mysql_data_seek()</a> - 移动内部结果的指针</span></li>
<li class="member"><span class="function"><a href="mysql_query.html" class="function" rel="rdfs-seeAlso">mysql_query()</a> - 发送一条 MySQL 查询</span></li>
<li class="member"><span class="function"><a href="mysql_error.html" class="function" rel="rdfs-seeAlso">mysql_error()</a> - 返回上一个 MySQL 操作产生的文本错误信息</span></li>
</ul>
</p>
</div>
</div></div></div></body></html>