mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-29 04:52:50 +08:00
68 lines
7.6 KiB
HTML
68 lines
7.6 KiB
HTML
<!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.pg-fetch-object" class="refentry">
|
||
<div class="refnamediv">
|
||
<h1 class="refname">pg_fetch_object</h1>
|
||
<p class="verinfo">(PHP 4, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">pg_fetch_object</span> — <span class="dc-title">提取一行作为对象</span></p>
|
||
|
||
</div>
|
||
<div class="refsect1 unknown-unknown-unknown-unknown-seealss" id="refsect1-function.pg-fetch-object-unknown-unknown-unknown-unknown-seealss">
|
||
<h3 class="title">说明</h3>
|
||
<div class="methodsynopsis dc-description">
|
||
<span class="methodname"><strong>pg_fetch_object</strong></span>
|
||
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$result</code></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$row</code></span>
|
||
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$result_type</code></span>
|
||
]] ) : <span class="type">object</span></div>
|
||
|
||
<p class="para rdfs-comment">
|
||
<span class="function"><strong>pg_fetch_object()</strong></span> 返回与所提取行的属性相一致的一个对象。如果出错或者没有更多行可供提取时则返回 <strong><code>FALSE</code></strong>。
|
||
</p>
|
||
<p class="para">
|
||
<span class="function"><strong>pg_fetch_object()</strong></span> 和 <span class="function"><a href="pg_fetch_array.html" class="function">pg_fetch_array()</a></span> 相似,只有一点区别 - 返回一个对象而不是数组。间接的,这意味着只能通过字段名来访问数据而不能通过偏移量来访问(数字是非法的属性名)。
|
||
</p>
|
||
<p class="para">
|
||
<code class="parameter">row</code> 是想要取得的行(记录)的编号。第一行为 0。
|
||
</p>
|
||
<p class="para">
|
||
除了速度之外,本函数和 <span class="function"><a href="pg_fetch_array.html" class="function">pg_fetch_array()</a></span> 完全一样,而且几乎和 <span class="function"><a href="pg_fetch_row.html" class="function">pg_fetch_row()</a></span> 一样快(速度上的差别很小)。
|
||
</p>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
从 4.1.0 版本开始,参数 <code class="parameter">row</code> 变为可选参数。
|
||
</p>
|
||
<p class="para">
|
||
从 4.3.0 开始,<code class="parameter">result_type</code> 默认值为 PGSQL_ASSOC,而旧版本的默认值是 PGSQL_BOTH。数字属性在这里没有用处,因为在 PHP 中对象的属性不能是数字。
|
||
</p>
|
||
<p class="para">
|
||
<code class="parameter">result_type</code> 参数在以后的版本中可能会删除。
|
||
</p>
|
||
</p></blockquote>
|
||
<p class="para">
|
||
<div class="example" id="example-2491">
|
||
<p><strong>Example #1 <span class="function"><strong>pg_fetch_object()</strong></span></strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php <br /><br />$database </span><span style="color: #007700">= </span><span style="color: #DD0000">"store"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$db_conn </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"host=localhost port=5432 dbname=</span><span style="color: #0000BB">$database</span><span style="color: #DD0000">"</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$db_conn</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"Failed connecting to postgres database </span><span style="color: #0000BB">$database</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br /> exit;<br />}<br /><br /></span><span style="color: #0000BB">$qu </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$db_conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT * FROM books ORDER BY author"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #FF8000">// postgres needs a row counter <br /><br /></span><span style="color: #007700">while (</span><span style="color: #0000BB">$data </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_fetch_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$qu</span><span style="color: #007700">, </span><span style="color: #0000BB">$row</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #0000BB">$data</span><span style="color: #007700">-></span><span style="color: #0000BB">author </span><span style="color: #007700">. </span><span style="color: #DD0000">" ("</span><span style="color: #007700">;<br /> echo </span><span style="color: #0000BB">$data</span><span style="color: #007700">-></span><span style="color: #0000BB">year </span><span style="color: #007700">. </span><span style="color: #DD0000">"): "</span><span style="color: #007700">;<br /> echo </span><span style="color: #0000BB">$data</span><span style="color: #007700">-></span><span style="color: #0000BB">title </span><span style="color: #007700">. </span><span style="color: #DD0000">"<br />"</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$row</span><span style="color: #007700">++;<br />}<br /><br /></span><span style="color: #0000BB">pg_free_result </span><span style="color: #007700">(</span><span style="color: #0000BB">$qu</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">pg_close </span><span style="color: #007700">(</span><span style="color: #0000BB">$db_conn</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
从 4.1.0 开始,<code class="parameter">row</code> 成为可选参数。每次调用 <span class="function"><strong>pg_fetch_object()</strong></span>,内部的行计数器都会加一。
|
||
</p>
|
||
</p></blockquote>
|
||
<p class="para">
|
||
参见 <span class="function"><a href="pg_query.html" class="function">pg_query()</a></span>,<span class="function"><a href="pg_fetch_array.html" class="function">pg_fetch_array()</a></span>,<span class="function"><a href="pg_fetch_row.html" class="function">pg_fetch_row()</a></span> 和 <span class="function"><a href="pg_fetch_result.html" class="function">pg_fetch_result()</a></span>。
|
||
</p>
|
||
</div>
|
||
|
||
</div></div></div></body></html> |