downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

Source of: /manual/en/pdostatement.closecursor.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.closecursor.php',
   
1 => 'PDOStatement->closeCursor',
  ),
 
'up' =>
  array (
   
0 => 'class.pdostatement.php',
   
1 => 'The PDOStatement class',
  ),
 
'prev' =>
  array (
   
0 => 'pdostatement.bindvalue.php',
   
1 => 'PDOStatement->bindValue',
  ),
 
'next' =>
  array (
   
0 => 'pdostatement.columncount.php',
   
1 => 'PDOStatement->columnCount',
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="pdostatement.closecursor" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PDOStatement-&gt;closeCursor</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PECL pdo &gt;= 0.9.0)</p><p class="refpurpose"><span class="refname">PDOStatement-&gt;closeCursor</span> &mdash; <span class="dc-title">
   Closes the cursor, enabling the statement to be executed again.
  </span></p>

 </div>
 <a name="pdostatement.closecursor.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::closeCursor</b></span>
    ( <span class="methodparam">void</span>
   )</div>


  <p class="para rdfs-comment">
   <b>PDOStatement::closeCursor()</b> frees up the connection
   to the server so that other SQL statements may be issued, but leaves the
   statement in a state that enables it to be executed again.
  </p>
  <p class="para">
   This method is useful for database drivers that do not support executing
   a PDOStatement object when a previously executed PDOStatement object still
   has unfetched rows. If your database driver suffers from this limitation,
   the problem may manifest itself in an out-of-sequence error.
  </p>
  <p class="para">
   <b>PDOStatement::closeCursor()</b> is implemented either as an
   optional driver specific method (allowing for maximum efficiency), or as
   the generic PDO fallback if no driver specific function is installed.
   The PDO generic fallback is semantically the same as writing the following
   code in your PHP script:
   </p><div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">do&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">nextRowset</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />}&nbsp;while&nbsp;(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
   </div>
<p>
  </p>

 </div>


 <a name="pdostatement.closecursor.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.closecursor.examples"></a><div class="refsect1 examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   </p><div class="example">
    <p><b>Example #1 A <b>PDOStatement::closeCursor()</b> example</b></p>
    <div class="example-contents para"><p>
     In the following example, the <var class="varname">$stmt</var> PDOStatement
     object returns multiple rows but the application fetches only the first
     row, leaving the PDOStatement object in a state of having unfetched rows.
     To ensure that the application will work with all database drivers, the
     author inserts a call to <b>PDOStatement::closeCursor()</b>
     on <var class="varname">$stmt</var> before executing the
     <var class="varname">$otherStmt</var> PDOStatement object.
    </p></div>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*&nbsp;Create&nbsp;a&nbsp;PDOStatement&nbsp;object&nbsp;*/<br /></span><span style="color: #0000BB">$stmt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prepare</span><span style="color: #007700">(</span><span style="color: #DD0000">'SELECT&nbsp;foo&nbsp;FROM&nbsp;bar'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/*&nbsp;Create&nbsp;a&nbsp;second&nbsp;PDOStatement&nbsp;object&nbsp;*/<br /></span><span style="color: #0000BB">$otherStmt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prepare</span><span style="color: #007700">(</span><span style="color: #DD0000">'SELECT&nbsp;foobaz&nbsp;FROM&nbsp;foobar'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/*&nbsp;Execute&nbsp;the&nbsp;first&nbsp;statement&nbsp;*/<br /></span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*&nbsp;Fetch&nbsp;only&nbsp;the&nbsp;first&nbsp;row&nbsp;from&nbsp;the&nbsp;results&nbsp;*/<br /></span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*&nbsp;The&nbsp;following&nbsp;call&nbsp;to&nbsp;closeCursor()&nbsp;may&nbsp;be&nbsp;required&nbsp;by&nbsp;some&nbsp;drivers&nbsp;*/<br /></span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">closeCursor</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*&nbsp;Now&nbsp;we&nbsp;can&nbsp;execute&nbsp;the&nbsp;second&nbsp;statement&nbsp;*/<br /></span><span style="color: #0000BB">$otherStmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
  </p>
 </div>


 <a name="pdostatement.closecursor.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.execute.php" class="function" rel="rdfs-seeAlso">PDOStatement::execute()</a> - Executes a prepared statement</li>
   </ul><p>
  </p>
 </div>


</div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites