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

148 lines
8.2 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>Requests the next result set from a stored procedure</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.db2-next-result" class="refentry">
<div class="refnamediv">
<h1 class="refname">db2_next_result</h1>
<p class="verinfo">(PECL ibm_db2 &gt;= 1.0.0)</p><p class="refpurpose"><span class="refname">db2_next_result</span> &mdash; <span class="dc-title">
Requests the next result set from a stored procedure
</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.db2-next-result-description">
<h3 class="title">说明</h3>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>db2_next_result</strong></span>
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$stmt</code></span>
) : <span class="type">resource</span></div>
<p class="para rdfs-comment">
A stored procedure can return zero or more result sets. While you handle
the first result set in exactly the same way you would handle the results
returned by a simple SELECT statement, to fetch the second and subsequent
result sets from a stored procedure you must call the
<span class="function"><strong>db2_next_result()</strong></span> function and return the result to a
uniquely named PHP variable.
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.db2-next-result-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">stmt</code></dt>
<dd>
<p class="para">
A prepared statement returned from <span class="function"><a href="db2_exec.html" class="function">db2_exec()</a></span> or
<span class="function"><a href="db2_execute.html" class="function">db2_execute()</a></span>.
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.db2-next-result-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
Returns a new statement resource containing the next result set if the
stored procedure returned another result set. Returns <strong><code>FALSE</code></strong> if the stored
procedure did not return another result set.
</p>
</div>
<div class="refsect1 examples" id="refsect1-function.db2-next-result-examples">
<h3 class="title">范例</h3>
<p class="para">
<div class="example" id="example-1265">
<p><strong>Example #1 Calling a stored procedure that returns multiple result sets</strong></p>
<div class="example-contents"><p>
In the following example, we call a stored procedure that returns three
result sets. The first result set is fetched directly from the same
statement resource on which we invoked the CALL statement, while the
second and third result sets are fetched from statement resources
returned from our calls to the <span class="function"><strong>db2_next_result()</strong></span>
function.
</p></div>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$conn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$database</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$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;</span><span style="color: #0000BB">$stmt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'CALL&nbsp;multiResults()'</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;print&nbsp;</span><span style="color: #DD0000">"Fetching&nbsp;first&nbsp;result&nbsp;set\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$row</span><span style="color: #007700">);<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;print&nbsp;</span><span style="color: #DD0000">"\nFetching&nbsp;second&nbsp;result&nbsp;set\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_next_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">);<br />&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$row</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;print&nbsp;</span><span style="color: #DD0000">"\nFetching&nbsp;third&nbsp;result&nbsp;set\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$res2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_next_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">);<br />&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res2</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">db2_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$res2</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$row</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;</span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
<div class="example-contents"><p>以上例程会输出:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
Fetching first result set
array(2) {
[0]=&gt;
string(16) &quot;Bubbles &quot;
[1]=&gt;
int(3)
}
array(2) {
[0]=&gt;
string(16) &quot;Gizmo &quot;
[1]=&gt;
int(4)
}
Fetching second result set
array(4) {
[0]=&gt;
string(16) &quot;Sweater &quot;
[1]=&gt;
int(6)
[2]=&gt;
string(5) &quot;llama&quot;
[3]=&gt;
string(6) &quot;150.00&quot;
}
array(4) {
[0]=&gt;
string(16) &quot;Smarty &quot;
[1]=&gt;
int(2)
[2]=&gt;
string(5) &quot;horse&quot;
[3]=&gt;
string(6) &quot;350.00&quot;
}
Fetching third result set
array(1) {
[0]=&gt;
string(16) &quot;Bubbles &quot;
}
array(1) {
[0]=&gt;
string(16) &quot;Gizmo &quot;
}
</pre></div>
</div>
</div>
</p>
</div>
</div></div></div></body></html>