<?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.fetch.php',
    1 => 'PDOStatement::fetch',
    2 => 'Ruft die n&auml;chste Zeile aus einer Ergebnismenge ab',
  ),
  'up' => 
  array (
    0 => 'class.pdostatement.php',
    1 => 'PDOStatement',
  ),
  'prev' => 
  array (
    0 => 'pdostatement.execute.php',
    1 => 'PDOStatement::execute',
  ),
  'next' => 
  array (
    0 => 'pdostatement.fetchall.php',
    1 => 'PDOStatement::fetchAll',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/pdo/pdostatement/fetch.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="pdostatement.fetch" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PDOStatement::fetch</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::fetch</span> &mdash; <span class="dc-title">Ruft die nächste Zeile aus einer Ergebnismenge ab</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-pdostatement.fetch-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>PDOStatement::fetch</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$mode</code><span class="initializer"> = <strong><code><a href="pdo.constants.php#pdo.constants.fetch-default">PDO::FETCH_DEFAULT</a></code></strong></span></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$cursorOrientation</code><span class="initializer"> = <strong><code><a href="pdo.constants.php#pdo.constants.fetch-ori-next">PDO::FETCH_ORI_NEXT</a></code></strong></span></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$cursorOffset</code><span class="initializer"> = 0</span></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>

  <p class="para rdfs-comment">
   Ruft eine Zeile aus einer Ergebnismenge ab, die mit einem
   PDOStatement-Objekt verknüpft ist. Der Parameter
   <code class="parameter">mode</code> bestimmt, wie PDO die Zeile zurückgibt.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-pdostatement.fetch-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">mode</code></dt>
     <dd>
      <p class="para">
       Legt fest, wie die nächste Zeile an die aufrufende Methode
       zurückgegeben werden soll. Dieser Wert muss eine der
       <strong><code>PDO::FETCH_*</code></strong>-Konstanten sein. Voreingestellt ist
       <strong><code><a href="pdo.constants.php#pdo.constants.attr-default-fetch-mode">PDO::ATTR_DEFAULT_FETCH_MODE</a></code></strong> (das standardmäßig
       auf <strong><code><a href="pdo.constants.php#pdo.constants.fetch-both">PDO::FETCH_BOTH</a></code></strong> gesetzt ist).
       <ul class="itemizedlist">
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-assoc">PDO::FETCH_ASSOC</a></code></strong>: gibt ein Array zurück, das
          durch die Spaltennamen der Ergebnismenge indiziert ist.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-both">PDO::FETCH_BOTH</a></code></strong> (Voreinstellung): gibt ein
          Array zurück, das sowohl durch die Spaltennamen der Ergebnismenge
          als auch durch deren Spaltennummern (beginnend bei 0) indiziert ist.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-bound">PDO::FETCH_BOUND</a></code></strong>: gibt <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> zurück und weist
          die Werte der Spalten der Ergebnismenge den PHP-Variablen zu, an die
          sie mit der Methode
          <span class="methodname"><a href="pdostatement.bindcolumn.php" class="methodname">PDOStatement::bindColumn()</a></span> gebunden wurden.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-class">PDO::FETCH_CLASS</a></code></strong>: gibt eine neue Instanz der
          angeforderten Klasse zurück. Das Objekt wird initialisiert, indem die
          Spalten der Ergebnismenge den Eigenschaften der Klasse zugewiesen
          werden. Dies geschieht vor dem Aufruf des Konstruktors und erlaubt
          die Belegung von Eigenschaften unabhängig von ihrer Sichtbarkeit oder
          davon, ob sie als <code class="literal">readonly</code> markiert sind. Wenn
          eine Eigenschaft in der Klasse nicht existiert, wird die magische
          Methode <a href="language.oop5.overloading.php#object.set" class="link">__set()</a> aufgerufen, falls
          sie existiert; andernfalls wird eine dynamische öffentliche
          Eigenschaft erstellt. Wenn jedoch auch
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong> angegeben ist, wird der
          Konstruktor <em>vor</em> dem Belegen der Eigenschaften
          aufgerufen. Wenn <code class="parameter">mode</code> das Attribut
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-classtype">PDO::FETCH_CLASSTYPE</a></code></strong> enthält (z. B.
          <code class="literal">PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE</code>), wird der
          Name der Klasse aus einem Wert der ersten Spalte ermittelt.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-into">PDO::FETCH_INTO</a></code></strong>: aktualisiert eine bestehende
          Instanz der angeforderten Klasse, wobei die Spalten der
          Ergebnismenge den benannten Eigenschaften der Klasse zugeordnet
          werden.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-lazy">PDO::FETCH_LAZY</a></code></strong>: kombiniert
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-both">PDO::FETCH_BOTH</a></code></strong> und
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-obj">PDO::FETCH_OBJ</a></code></strong> und gibt ein
          <span class="classname"><a href="class.pdorow.php" class="classname">PDORow</a></span>-Objekt zurück, das die
          Eigenschaftsnamen des Objekts erstellt, wenn auf sie zugegriffen
          wird.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-named">PDO::FETCH_NAMED</a></code></strong>: gibt ein Array zurück, das
          die gleiche Form hat wie <strong><code><a href="pdo.constants.php#pdo.constants.fetch-assoc">PDO::FETCH_ASSOC</a></code></strong>. Wenn
          es jedoch mehrere Spalten mit demselben Namen gibt, ist der Wert,
          auf den der betreffende Schlüssel verweist, ein Array mit allen
          Werten in der Zeile, die diesen Spaltennamen hatten.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-num">PDO::FETCH_NUM</a></code></strong>: gibt ein Array zurück, das
          durch die Spaltennummer aus der Ergebnismenge indiziert ist
          (beginnend bei Spalte 0).
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-obj">PDO::FETCH_OBJ</a></code></strong>: gibt ein anonymes Objekt mit
          Eigenschaftsnamen zurück, die den Spaltennamen aus der Ergebnismenge
          entsprechen.
         </p>
        </li>
        <li class="listitem">
         <p class="para">
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong>: in Kombination mit
          <strong><code><a href="pdo.constants.php#pdo.constants.fetch-class">PDO::FETCH_CLASS</a></code></strong> wird der Konstruktor der
          Klasse aufgerufen, bevor die Eigenschaften aus den jeweiligen
          Spaltenwerten zugewiesen werden.
         </p>
        </li>
       </ul>
      </p>
     </dd>
    
    
     <dt><code class="parameter">cursorOrientation</code></dt>
     <dd>
      <p class="para">
       Bei einem PDOStatement-Objekt, das einen scrollbaren Cursor
       repräsentiert, bestimmt dieser Wert, welche Zeile an die aufrufende
       Methode zurückgegeben werden soll. Dieser Wert muss eine der
       <strong><code>PDO::FETCH_ORI_*</code></strong>-Konstanten sein, wobei
       <strong><code><a href="pdo.constants.php#pdo.constants.fetch-ori-next">PDO::FETCH_ORI_NEXT</a></code></strong> voreingestellt ist. Wenn die
       SQL-Anweisung mit <span class="methodname"><a href="pdo.prepare.php" class="methodname">PDO::prepare()</a></span> vorbereitet
       wird, muss das 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 werden, um einen
       scrollbaren Cursor für das PDOStatement-Objekt zu erhalten.
      </p>
     </dd>
    
    
     <dt><code class="parameter">cursorOffset</code></dt>
     <dd>
      <p class="para">
       Bei einem PDOStatement-Objekt, das einen scrollbaren Cursor
       repräsentiert, dessen Parameter
       <code class="parameter">cursorOrientation</code> auf
       <strong><code><a href="pdo.constants.php#pdo.constants.fetch-ori-abs">PDO::FETCH_ORI_ABS</a></code></strong> gesetzt ist, gibt dieser Wert
       die absolute Nummer der Zeile in der Ergebnismenge an, die abgerufen
       werden soll.
      </p>
      <p class="para">
       Bei einem PDOStatement-Objekt, das einen scrollbaren Cursor
       repräsentiert, dessen Parameter
       <code class="parameter">cursorOrientation</code> auf
       <strong><code><a href="pdo.constants.php#pdo.constants.fetch-ori-rel">PDO::FETCH_ORI_REL</a></code></strong> gesetzt ist, gibt dieser Wert
       die abzurufende Zeile relativ zur Position des Zeigers vor dem Aufruf
       von <span class="methodname"><strong>PDOStatement::fetch()</strong></span> an.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-pdostatement.fetch-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Bei Erfolg hängt der Rückgabewert dieser Funktion von der Art des Abrufs
   ab. Bei einem Fehler oder wenn es keine weiteren Zeilen gibt, wird in jedem
   Fall <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückgegeben.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-pdostatement.fetch-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.fetch-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Abrufen von Zeilen mit verschiedenen Arten des Abrufs</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$sth </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">"SELECT name, colour FROM fruit"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Beispiele für die verschiedenen Arten von PDOStatement::fetch */<br /></span><span style="color: #007700">print </span><span style="color: #DD0000">"PDO::FETCH_ASSOC: "</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Die nächste Zeile als Array zurückgeben, das durch den Spaltennamen indiziert ist\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$Ergebnis </span><span style="color: #007700">= </span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</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_ASSOC</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />print </span><span style="color: #DD0000">"PDO::FETCH_BOTH: "</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Die nächste Zeile als Array zurückgeben, das sowohl durch den Spaltennamen als auch durch die Spaltennummer indiziert ist\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$Ergebnis </span><span style="color: #007700">= </span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</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_BOTH</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />print </span><span style="color: #DD0000">"PDO::FETCH_LAZY: "</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Die nächste Zeile als PDORow-Objekt mit den Spaltennamen als Eigenschaften zurückgeben\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$Ergebnis </span><span style="color: #007700">= </span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</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_LAZY</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />print </span><span style="color: #DD0000">"PDO::FETCH_OBJ: "</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Die nächste Zeile als PDORow-Objekt mit den Spaltennamen als Eigenschaften zurückgeben\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</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_OBJ</span><span style="color: #007700">);<br />print </span><span style="color: #0000BB">$result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"\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 folgende Ausgabe:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">PDO::FETCH_ASSOC: Die nächste Zeile als Array zurückgeben, das durch den Spaltennamen indiziert ist
Array
(
    [name] =&gt; apple
    [colour] =&gt; red
)

PDO::FETCH_BOTH: Die nächste Zeile als Array zurückgeben, das sowohl durch den Spaltennamen als auch durch die Spaltennummer indiziert ist
Array
(
    [name] =&gt; banana
    [0] =&gt; banana
    [colour] =&gt; yellow
    [1] =&gt; yellow
)

PDO::FETCH_LAZY: Die nächste Zeile als anonymes Objekt mit den Spaltennamen als Eigenschaften zurückgeben
PDORow Object
(
    [name] =&gt; orange
    [colour] =&gt; orange
)

PDO::FETCH_OBJ: Die nächste Zeile als anonymes Objekt mit den Spaltennamen als Eigenschaften zurückgeben
kiwi</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Abrufen von Zeilen mittels scrollbarem Cursor</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">readDataForwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbh</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">'SELECT hand, won, bet FROM mynumbers ORDER BY BET'</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">$stmt </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: #0000BB">$sql</span><span style="color: #007700">, array(</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">ATTR_CURSOR </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">CURSOR_SCROLL</span><span style="color: #007700">));<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 />    while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</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">, </span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_ORI_NEXT</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">$data </span><span style="color: #007700">= </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: #DD0000">"\t" </span><span style="color: #007700">. </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\t" </span><span style="color: #007700">. </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />        print </span><span style="color: #0000BB">$data</span><span style="color: #007700">;<br />    }<br />}<br />function </span><span style="color: #0000BB">readDataBackwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbh</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">'SELECT hand, won, bet FROM mynumbers ORDER BY bet'</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">$stmt </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: #0000BB">$sql</span><span style="color: #007700">, array(</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">ATTR_CURSOR </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">CURSOR_SCROLL</span><span style="color: #007700">));<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 />    </span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</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">, </span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_ORI_LAST</span><span style="color: #007700">);<br />    do {<br />        </span><span style="color: #0000BB">$data </span><span style="color: #007700">= </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: #DD0000">"\t" </span><span style="color: #007700">. </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\t" </span><span style="color: #007700">. </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />        print </span><span style="color: #0000BB">$data</span><span style="color: #007700">;<br />    } while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</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">, </span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_ORI_PRIOR</span><span style="color: #007700">));<br />}<br /><br />print </span><span style="color: #DD0000">"Vorwärts ausgelesen:\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">readDataForwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br />print </span><span style="color: #DD0000">"Rückwärts ausgelesen:\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">readDataBackwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</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 folgende Ausgabe:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Vorwärts ausgelesen:
21    10    5
16    0     5
19    20    10

Rückwärts ausgelesen:
19    20    10
16    0     5
21    10    5</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-3">
    <p><strong>Beispiel #3 Reihenfolge der Konstruktion</strong></p>
    <div class="example-contents"><p>
     Wenn Objekte über <strong><code><a href="pdo.constants.php#pdo.constants.fetch-class">PDO::FETCH_CLASS</a></code></strong> abgerufen werden,
     werden zuerst die Objekteigenschaften zugewiesen und dann der Konstruktor
     der Klasse aufgerufen. Wenn jedoch zusätzlich
     <strong><code><a href="pdo.constants.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong> angegeben wird, wird diese
     Reihenfolge umgekehrt, d. h. zuerst wird der Konstruktor aufgerufen und
     danach werden die Eigenschaften zugewiesen.
    </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: #007700">class </span><span style="color: #0000BB">Person<br /></span><span style="color: #007700">{<br />    private </span><span style="color: #0000BB">$name</span><span style="color: #007700">;<br /><br />    public function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">()<br />    {<br />        </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tell</span><span style="color: #007700">();<br />    }<br /><br />    public function </span><span style="color: #0000BB">tell</span><span style="color: #007700">()<br />    {<br />        if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">)) {<br />            echo </span><span style="color: #DD0000">"Ich heiße </span><span style="color: #007700">{</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">}</span><span style="color: #DD0000">.\n"</span><span style="color: #007700">;<br />        } else {<br />            echo </span><span style="color: #DD0000">"Ich habe noch keinen Namen.\n"</span><span style="color: #007700">;<br />        }<br />    }<br />}<br /><br /></span><span style="color: #0000BB">$sth </span><span style="color: #007700">= </span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT * FROM people"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFetchMode</span><span style="color: #007700">(</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_CLASS</span><span style="color: #007700">, </span><span style="color: #DD0000">'Person'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$person </span><span style="color: #007700">= </span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$person</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tell</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFetchMode</span><span style="color: #007700">(</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_CLASS</span><span style="color: #007700">|</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">FETCH_PROPS_LATE</span><span style="color: #007700">, </span><span style="color: #DD0000">'Person'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$person </span><span style="color: #007700">= </span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$person</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tell</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">Ich heiße Alice.
Ich heiße Alice.
Ich habe noch keinen Namen.
Ich heiße Bob.</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-pdostatement.fetch-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="pdo.prepare.php" class="methodname" rel="rdfs-seeAlso">PDO::prepare()</a> - Bereitet eine Anweisung zur Ausf&uuml;hrung vor und liefert ein Anweisungsobjekt</span></li>
    <li><span class="methodname"><a href="pdostatement.execute.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::execute()</a> - F&uuml;hrt ein Prepared Statement aus</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchall.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchAll()</a> - Ruft die verbleibenden Zeilen aus einer Ergebnismenge ab</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="pdostatement.fetchobject.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchObject()</a> - Ruft die n&auml;chste Zeile ab und liefert sie als Objekt</span></li>
    <li><span class="methodname"><a href="pdostatement.setfetchmode.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::setFetchMode()</a> - Legt den standardm&auml;&szlig;igen Abrufmodus eine Anweisung fest</span></li>
   </ul>
  </p>
 </div>


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