<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'pdostatement.fetch.php',
    1 => 'PDOStatement::fetch',
    2 => 'R&eacute;cup&egrave;re la ligne suivante d\'un jeu de r&eacute;sultats PDO',
  ),
  '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' => 'fr',
    '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">
   Récupère la ligne suivante d&#039;un jeu de résultats PDO
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-pdostatement.fetch-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="modifier">function</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.fetch-modes.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">
   Récupère une ligne depuis un jeu de résultats associé à l&#039;objet
   <code class="literal">PDOStatement</code>. Le paramètre
   <code class="parameter">mode</code> détermine la façon dont PDO retourne
   la ligne.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-pdostatement.fetch-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">mode</code></dt>
     <dd>
      <p class="para">
       Contrôle comment la prochaine ligne sera retournée à l&#039;appelant. Cette valeur
       doit être une des constantes <code class="literal">PDO::FETCH_*</code>,
       et par défaut, vaut la valeur de <code class="literal">PDO::ATTR_DEFAULT_FETCH_MODE</code>
       (qui vaut par défaut la valeur de la constante <code class="literal">PDO::FETCH_BOTH</code>).
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_ASSOC</code>: retourne un tableau indexé par le nom
          de la colonne comme retourné dans le jeu de résultats
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_BOTH</code> (défaut): retourne un tableau indexé
          par les noms de colonnes et aussi par les numéros de colonnes,
          commençant à l&#039;index 0, comme retournés dans le jeu de résultats
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_BOUND</code>: retourne <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> et assigne les valeurs
          des colonnes du jeu de résultats dans les variables PHP auxquelles
          elles sont liées avec la méthode
          <span class="methodname"><a href="pdostatement.bindcolumn.php" class="methodname">PDOStatement::bindColumn()</a></span>
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_CLASS</code>: retourne une nouvelle instance
          de la classe demandée. L&#039;objet est initialisé en mappant les colonnes du jeu de résultats aux
          propriétés de la classe. Ce processus se produit avant que le constructeur ne soit
          appelé, permettant la population des propriétés, indépendamment de leur
          visibilité ou de leur marqueur comme <code class="literal">readonly</code>. Si
          une propriété n&#039;existe pas dans la classe, la méthode magique
          <a href="language.oop5.overloading.php#object.set" class="link">__set()</a>
          sera invoquée si elle existe ; sinon, une propriété publique dynamique
          sera créée. Cependant, lorsque <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong>
          est également spécifié, le constructeur est appelé <em>avant</em> que
          les propriétés soient peuplées.
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_INTO</code> : met à jour une instance existante
          de la classe demandée, liant les colonnes du jeu de résultats aux noms des propriétés
          de la classe
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_LAZY</code> : combine
          <code class="literal">PDO::FETCH_BOTH</code> et <code class="literal">PDO::FETCH_OBJ</code>,
          et renvoie un objet <span class="classname"><a href="class.pdorow.php" class="classname">PDORow</a></span>
          qui crée les noms de propriété de l&#039;objet au fur et à mesure de leur accès.
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_NAMED</code> : retourne un tableau de la même
          forme que <code class="literal">PDO::FETCH_ASSOC</code>, excepté que s&#039;il y a
          plusieurs colonnes avec les mêmes noms, la valeur pointée par cette clé
          sera un tableau de toutes les valeurs de la ligne qui a ce nom comme colonne
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_NUM</code> : retourne un tableau indexé par le
          numéro de la colonne comme elle est retournée dans le jeu de résultats,
          commençant à 0
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_OBJ</code> : retourne un objet anonyme avec les
          noms de propriétés qui correspondent aux noms des colonnes retournés dans le
          jeu de résultats
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <code class="literal">PDO::FETCH_PROPS_LATE</code> : lorsqu&#039;il est utilisé avec
          <code class="literal">PDO::FETCH_CLASS</code>, le constructeur de la classe est
          appelé avant que les propriétés ne soient assignées à partir des
          valeurs de colonne respectives.
         </span>
        </li>
       </ul>
      </p>
     </dd>
    
    
     <dt><code class="parameter">cursorOrientation</code></dt>
     <dd>
      <p class="para">
       Pour un objet PDOStatement représentant un curseur scrollable,
       cette valeur détermine quelle ligne sera retournée à l&#039;appelant.
       Cette valeur doit être une des constantes
       <code class="literal">PDO::FETCH_ORI_*</code>, et par défaut, vaut
       <code class="literal">PDO::FETCH_ORI_NEXT</code>. Pour demander un curseur
       scrollable pour l&#039;objet PDOStatement, il faut définir
       l&#039;attribut <code class="literal">PDO::ATTR_CURSOR</code> à <code class="literal">PDO::CURSOR_SCROLL</code>
       lorsque l&#039;on prépare la requête SQL avec la fonction
       <span class="methodname"><a href="pdo.prepare.php" class="methodname">PDO::prepare()</a></span>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">cursorOffset</code></dt>
     <dd>
      <p class="para">
       Pour un objet PDOStatement représentant un curseur scrollable pour
       lequel le paramètre <code class="parameter">cursorOrientation</code> est défini
       à <code class="literal">PDO::FETCH_ORI_ABS</code>, cette valeur spécifie
       le numéro absolu de la ligne dans le jeu de résultats qui doit être
       récupérée.
      </p>
      <p class="para">
       Pour un objet PDOStatement représentant un curseur scrollable pour
       lequel le paramètre <code class="parameter">cursorOrientation</code> est défini
       à <code class="literal">PDO::FETCH_ORI_REL</code>, cette valeur spécifie la ligne
       à récupérer relativement à la position du curseur avant l&#039;appel à la fonction
       <span class="methodname"><strong>PDOStatement::fetch()</strong></span>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-pdostatement.fetch-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   La valeur retournée par cette fonction en cas de succès dépend du type récupéré.
   Dans tous les cas, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> est retourné si une erreur survient ou s&#039;il n&#039;y a plus de lignes.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-pdostatement.fetch-errors">
  <h3 class="title">Erreurs / Exceptions</h3>
  <p class="simpara">
Émet une erreur de niveau <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> si l&#039;attribut <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> est défini
à <strong><code><a href="pdo.constants.php#pdo.constants.errmode-warning">PDO::ERRMODE_WARNING</a></code></strong>.
</p>
<p class="simpara">
Lève une exception <span class="classname"><a href="class.pdoexception.php" class="classname">PDOException</a></span> si l&#039;attribut <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> est défini
à <strong><code><a href="pdo.constants.php#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.
</p>
 </div>


 <div class="refsect1 examples" id="refsect1-pdostatement.fetch-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Récupération de lignes en utilisant différentes méthodes</strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php
$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 nom, couleur FROM fruit"</span><span style="color: #007700">);
</span><span style="color: #0000BB">$sth</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();

</span><span style="color: #FF8000">/* styles PDOStatement::fetch */
</span><span style="color: #007700">print </span><span style="color: #DD0000">"PDO::FETCH_ASSOC: "</span><span style="color: #007700">;
print </span><span style="color: #DD0000">"Retourne la ligne suivante en tant qu'un tableau indexé par le nom des colonnes\n"</span><span style="color: #007700">;
</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_ASSOC</span><span style="color: #007700">);
</span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);
print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;

print </span><span style="color: #DD0000">"PDO::FETCH_BOTH: "</span><span style="color: #007700">;
print </span><span style="color: #DD0000">"Retourne la ligne suivante en tant qu'un tableau indexé par le nom et le numéro de la colonne\n"</span><span style="color: #007700">;
</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_BOTH</span><span style="color: #007700">);
</span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);
print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;

print </span><span style="color: #DD0000">"PDO::FETCH_LAZY: "</span><span style="color: #007700">;
print </span><span style="color: #DD0000">"Retourne la ligne suivante en tant qu'objet PDORow ayant les noms de colonnes comme propriétés\n"</span><span style="color: #007700">;
</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_LAZY</span><span style="color: #007700">);
</span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);
print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;

print </span><span style="color: #DD0000">"PDO::FETCH_OBJ: "</span><span style="color: #007700">;
print </span><span style="color: #DD0000">"Retourne la ligne suivante en tant qu'objet anonyme ayant les noms de colonnes comme propriétés\n"</span><span style="color: #007700">;
</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">);
print </span><span style="color: #0000BB">$result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">nom</span><span style="color: #007700">;
print </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;
</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">PDO::FETCH_ASSOC: Retourne la ligne suivante en tant qu&#039;un tableau indexé par le nom des colonnes
Array
(
    [nom] =&gt; apple
    [couleur] =&gt; red
)

PDO::FETCH_BOTH: Retourne la ligne suivante en tant qu&#039;un tableau indexé par le nom et le numéro de la colonne
Array
(
    [nom] =&gt; banana
    [0] =&gt; banana
    [couleur] =&gt; yellow
    [1] =&gt; yellow
)

PDO::FETCH_LAZY: Retourne la ligne suivante en tant qu&#039;objet PDORow ayant les noms de colonnes comme propriétés PDORow Object
(
    [nom] =&gt; orange
    [couleur] =&gt; orange
)

PDO::FETCH_OBJ: Retourne la ligne suivante en tant qu&#039;objet anonyme ayant les noms de colonnes comme propriétés kiwi</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Récupération des lignes avec un curseur scrollable</strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php
</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">) {
    </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">;
    </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">));
    </span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();
    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">)) {
        </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">;
        print </span><span style="color: #0000BB">$data</span><span style="color: #007700">;
    }
}
function </span><span style="color: #0000BB">readDataBackwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbh</span><span style="color: #007700">) {
    </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">;
    </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">));
    </span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();
    </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">);
    do {
        </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">;
        print </span><span style="color: #0000BB">$data</span><span style="color: #007700">;
    } 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">));
}

print </span><span style="color: #DD0000">"Lecture en avant :\n"</span><span style="color: #007700">;
</span><span style="color: #0000BB">readDataForwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);

print </span><span style="color: #DD0000">"Lecture en arrière :\n"</span><span style="color: #007700">;
</span><span style="color: #0000BB">readDataBackwards</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);
</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Lecture en avant :
21    10    5
16    0     5
19    20    10

Lecture en arrière :
19    20    10
16    0     5
21    10    5</pre>
</div>
    </div>
   </div>

   <div class="example" id="example-3"><p><strong>Exemple #3 Ordre de construction</strong></p>
    <div class="example-contents"><p>
     Lorsque des objets sont récupérés via <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-class">PDO::FETCH_CLASS</a></code></strong>,
     les propriétés de l&#039;objet sont assignées en premier, puis le constructeur
     de la classe est appelé. Cependant, lorsque <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong> est également spécifié,
     cet ordre est inversé, c&#039;est-à-dire que le constructeur est d&#039;abord appelé, puis
     les propriétés sont assignées.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php
</span><span style="color: #007700">class </span><span style="color: #0000BB">Person
</span><span style="color: #007700">{
    private </span><span style="color: #0000BB">$name</span><span style="color: #007700">;

    public function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">()
    {
        </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tell</span><span style="color: #007700">();
    }

    public function </span><span style="color: #0000BB">tell</span><span style="color: #007700">()
    {
        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">)) {
            echo </span><span style="color: #DD0000">"Je suis </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">;
        } else {
            echo </span><span style="color: #DD0000">"Je n'ai pas encore de nom.\n"</span><span style="color: #007700">;
        }
    }
}

</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">);
</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">);
</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">();
</span><span style="color: #0000BB">$person</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tell</span><span style="color: #007700">();
</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">);
</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">();
</span><span style="color: #0000BB">$person</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tell</span><span style="color: #007700">();
</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Je suis Alice.
Je suis Alice.
Je n&#039;ai pas encore de nom.
Je suis Bob.</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-pdostatement.fetch-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="pdo.prepare.php" class="methodname" rel="rdfs-seeAlso">PDO::prepare()</a> - Pr&eacute;pare une requ&ecirc;te &agrave; l'ex&eacute;cution et retourne un objet</span></li>
    <li><span class="methodname"><a href="pdostatement.execute.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::execute()</a> - Ex&eacute;cute une requ&ecirc;te pr&eacute;par&eacute;e</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchall.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchAll()</a> - R&eacute;cup&egrave;re les lignes restantes d'un ensemble de r&eacute;sultats</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchcolumn.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchColumn()</a> - Retourne une colonne depuis la ligne suivante d'un jeu de r&eacute;sultats</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchobject.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchObject()</a> - R&eacute;cup&egrave;re la prochaine ligne et la retourne en tant qu'objet</span></li>
    <li><span class="methodname"><a href="pdostatement.setfetchmode.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::setFetchMode()</a> - D&eacute;finit le mode de r&eacute;cup&eacute;ration par d&eacute;faut pour cette requ&ecirc;te</span></li>
   </ul>
  </p>
 </div>

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