<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = 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 => 'de',
  ),
  'this' => 
  array (
    0 => 'pdostatement.rowcount.php',
    1 => 'PDOStatement::rowCount',
    2 => 'Liefert die Anzahl der von der letzten SQL-Anweisung betroffenen Zeilen',
  ),
  'up' => 
  array (
    0 => 'class.pdostatement.php',
    1 => 'PDOStatement',
  ),
  'prev' => 
  array (
    0 => 'pdostatement.nextrowset.php',
    1 => 'PDOStatement::nextRowset',
  ),
  'next' => 
  array (
    0 => 'pdostatement.setattribute.php',
    1 => 'PDOStatement::setAttribute',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/pdo/pdostatement/rowcount.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="pdostatement.rowcount" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PDOStatement::rowCount</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PHP 7, PHP 8, PECL pdo &gt;= 0.1.0)</p><p class="refpurpose"><span class="refname">PDOStatement::rowCount</span> &mdash; <span class="dc-title">
   Liefert die Anzahl der von der letzten SQL-Anweisung betroffenen Zeilen
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-pdostatement.rowcount-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>PDOStatement::rowCount</strong></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

  <p class="para rdfs-comment">
   <span class="methodname"><strong>PDOStatement::rowCount()</strong></span> gibt die Anzahl der Zeilen
   zurück, die von der letzten DELETE-, INSERT- oder UPDATE-Anweisung des
   zugehörigen <code class="literal">PDOStatement</code>-Objekts betroffen waren.
  </p>
  <p class="para">
   Bei Anweisungen, die Ergebnismengen erzeugen, z. B.
   <code class="literal">SELECT</code>, ist das Verhalten nicht definiert und kann je
   nach Treiber unterschiedlich sein. Einige Datenbanken können die Anzahl der
   von dieser Anweisung erzeugten Zeilen zurückgeben (z. B. MySQL im
   gepufferten Modus), aber dieses Verhalten ist nicht für alle Datenbanken
   garantiert und sollte nicht für portable Anwendungen verwendet werden.
  </p>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Diese Methode gibt beim PostgreSQL-Treiber &quot;0&quot; (Null) zurück, wenn das
    Statement-Attribut <strong><code><a href="pdo.constants.php#pdo.constants.attr-cursor">PDO::ATTR_CURSOR</a></code></strong> auf
    <strong><code><a href="pdo.constants.php#pdo.constants.cursor-scroll">PDO::CURSOR_SCROLL</a></code></strong> gesetzt ist.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-pdostatement.rowcount-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">Diese Funktion besitzt keine Parameter.</p>
 </div>


  <div class="refsect1 returnvalues" id="refsect1-pdostatement.rowcount-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt die Anzahl der Zeilen zurück.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-pdostatement.rowcount-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  <p class="para">
Gibt einen Fehler der Stufe <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> aus, wenn das Attribut <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong>
auf <strong><code><a href="pdo.constants.php#pdo.constants.errmode-warning">PDO::ERRMODE_WARNING</a></code></strong> gesetzt ist.
</p>
<p class="para">
Löst eine <span class="classname"><a href="class.pdoexception.php" class="classname">PDOException</a></span> aus, wenn das Attribut <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong>
auf <strong><code><a href="pdo.constants.php#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong> gesetzt ist.
</p>
 </div>


 <div class="refsect1 examples" id="refsect1-pdostatement.rowcount-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Ermitteln der Anzahl der gelöschten Zeilen</strong></p>
    <div class="example-contents"><p>
     <span class="methodname"><strong>PDOStatement::rowCount()</strong></span> gibt die Anzahl der
     Zeilen zurück, die von einer DELETE-, INSERT- oder UPDATE-Anweisung
     betroffen sind.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Löschen aller Zeilen aus der Tabelle FRUIT */<br /></span><span style="color: #0000BB">$del </span><span style="color: #007700">= </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">'DELETE FROM fruit'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$del</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Rückgabe der Anzahl der gelöschten Zeilen */<br /></span><span style="color: #007700">print </span><span style="color: #DD0000">"Rückgabe der Anzahl der gelöschten Zeilen:\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$count </span><span style="color: #007700">= </span><span style="color: #0000BB">$del</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">rowCount</span><span style="color: #007700">();<br />print </span><span style="color: #DD0000">"Es wurden </span><span style="color: #0000BB">$count</span><span style="color: #DD0000"> Zeilen gelöscht.\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Rückgabe der Anzahl der gelöschten Zeilen:
Es wurden 9 Zeilen gelöscht.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Zählen der Zeilen, die von einer SELECT-Anweisung zurückgegeben wurden</strong></p>
    <div class="example-contents"><p>
     Bei den meisten Datenbanken gibt
     <span class="methodname"><strong>PDOStatement::rowCount()</strong></span> die Anzahl der von einer
     SELECT-Anweisung betroffenen Zeilen nicht zurück. Stattdessen sollte
     mittels <span class="methodname"><a href="pdo.query.php" class="methodname">PDO::query()</a></span> eine SELECT COUNT(*)-Anweisung
     ausgeführt werden, die dieselben Bedingungen erfüllt wie die gewünschte
     SELECT-Anweisung. Mit <span class="methodname"><a href="pdostatement.fetchcolumn.php" class="methodname">PDOStatement::fetchColumn()</a></span>
     kann dann die Anzahl der betroffenen Zeilen ermittelt werden.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT COUNT(*) FROM fruit WHERE calories &gt; 100"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">$conn</span><span style="color: #007700">-&gt;</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">$count </span><span style="color: #007700">= </span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetchColumn</span><span style="color: #007700">();<br /><br />print </span><span style="color: #DD0000">"Es gibt " </span><span style="color: #007700">.  </span><span style="color: #0000BB">$count </span><span style="color: #007700">. </span><span style="color: #DD0000">" übereinstimmende Datensätze."</span><span style="color: #007700">;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Es gibt 2 übereinstimmende Datensätze.</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-pdostatement.rowcount-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="pdostatement.columncount.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::columnCount()</a> - Liefert die Anzahl der Spalten in der Ergebnismenge</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchcolumn.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchColumn()</a> - Liefert eine einzelne Spalte aus der n&auml;chsten Zeile einer Ergebnismenge</span></li>
    <li><span class="methodname"><a href="pdo.query.php" class="methodname" rel="rdfs-seeAlso">PDO::query()</a> - Bereitet eine SQL-Anweisung ohne Platzhalter vor und f&uuml;hrt sie aus</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>