Source of: /manual/en/pdostatement.nextrowset.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.pdostatement.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'pdostatement.nextrowset.php',
1 => 'PDOStatement->nextRowset',
),
'up' =>
array (
0 => 'class.pdostatement.php',
1 => 'The PDOStatement class',
),
'prev' =>
array (
0 => 'pdostatement.getcolumnmeta.php',
1 => 'PDOStatement->getColumnMeta',
),
'next' =>
array (
0 => 'pdostatement.rowcount.php',
1 => 'PDOStatement->rowCount',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="pdostatement.nextrowset" class="refentry">
<div class="refnamediv">
<h1 class="refname">PDOStatement->nextRowset</h1>
<p class="verinfo">(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)</p><p class="refpurpose"><span class="refname">PDOStatement->nextRowset</span> — <span class="dc-title">
Advances to the next rowset in a multi-rowset statement handle
</span></p>
</div>
<a name="pdostatement.nextrowset.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="type">bool</span> <span class="methodname"><b>PDOStatement::nextRowset</b></span>
( <span class="methodparam">void</span>
)</div>
<p class="para rdfs-comment">
Some database servers support stored procedures that return more than one
rowset (also known as a result set).
<b>PDOStatement::nextRowset()</b> enables you to access the
second and subsequent rowsets associated with a PDOStatement object. Each
rowset can have a different set of columns from the preceding rowset.
</p>
</div>
<a name="pdostatement.nextrowset.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
Returns <b><tt class="constant">TRUE</tt></b> on success or <b><tt class="constant">FALSE</tt></b> on failure.
</p>
</div>
<a name="pdostatement.nextrowset.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 Fetching multiple rowsets returned from a stored procedure</b></p>
<div class="example-contents para"><p>
The following example shows how to call a stored procedure,
MULTIPLE_ROWSETS, that returns three rowsets. We use a do / while loop to
loop over the <b>PDOStatement::nextRowset()</b> method, which
returns false and terminates the loop when no more rowsets can be returned.
</p></div>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br />$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">'CALL multiple_rowsets()'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">$conn</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$i </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />do {<br /> </span><span style="color: #0000BB">$rowset </span><span style="color: #007700">= </span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-></span><span style="color: #0000BB">fetch</span><span style="color: #007700">(</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_NUM</span><span style="color: #007700">);<br /> if (</span><span style="color: #0000BB">$rowset</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">printResultSet</span><span style="color: #007700">(</span><span style="color: #0000BB">$rowset</span><span style="color: #007700">, </span><span style="color: #0000BB">$i</span><span style="color: #007700">);<br /> }<br /> </span><span style="color: #0000BB">$i</span><span style="color: #007700">++;<br />} while (</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-></span><span style="color: #0000BB">nextRowset</span><span style="color: #007700">());<br /><br />function </span><span style="color: #0000BB">printResultSet</span><span style="color: #007700">(&</span><span style="color: #0000BB">$rowset</span><span style="color: #007700">, </span><span style="color: #0000BB">$i</span><span style="color: #007700">) {<br /> print </span><span style="color: #DD0000">"Result set </span><span style="color: #0000BB">$i</span><span style="color: #DD0000">:\n"</span><span style="color: #007700">;<br /> foreach (</span><span style="color: #0000BB">$rowset </span><span style="color: #007700">as </span><span style="color: #0000BB">$row</span><span style="color: #007700">) {<br /> foreach (</span><span style="color: #0000BB">$row </span><span style="color: #007700">as </span><span style="color: #0000BB">$col</span><span style="color: #007700">) {<br /> print </span><span style="color: #0000BB">$col </span><span style="color: #007700">. </span><span style="color: #DD0000">"\t"</span><span style="color: #007700">;<br /> }<br /> print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /> }<br /> print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents para"><p>The above example will output:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
Result set 1:
apple red
banana yellow
Result set 2:
orange orange 150
banana yellow 175
Result set 3:
lime green
apple red
banana yellow
</pre></div>
</div>
</div><p>
</p>
</div>
<a name="pdostatement.nextrowset.seealso"></a><div class="refsect1 seealso">
<h3 class="title">See Also</h3>
<p class="para">
</p><ul class="simplelist">
<li class="member"><a href="pdostatement.columncount.php" class="function" rel="rdfs-seeAlso">PDOStatement::columnCount()</a> - Returns the number of columns in the result set</li>
<li class="member"><a href="pdostatement.execute.php" class="function" rel="rdfs-seeAlso">PDOStatement::execute()</a> - Executes a prepared statement</li>
<li class="member"><a href="pdostatement.getcolumnmeta.php" class="function" rel="rdfs-seeAlso">PDOStatement::getColumnMeta()</a> - Returns metadata for a column in a result set</li>
<li class="member"><a href="pdo.query.php" class="function" rel="rdfs-seeAlso">PDO::query()</a> - Executes an SQL statement, returning a result set as a PDOStatement object</li>
</ul><p>
</p>
</div>
</div><?php manual_footer(); ?>