<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'pdostatement.fetch.php',
    1 => 'PDOStatement::fetch',
    2 => 'Recupera la siguiente l&iacute;nea de un conjunto de resultados 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' => 'es',
    '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">
   Recupera la siguiente línea de un conjunto de resultados PDO
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-pdostatement.fetch-description">
  <h3 class="title">Descripción</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.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">
   Recupera una línea desde un conjunto de resultados asociado al objeto
   PDOStatement. El argumento
   <code class="parameter">mode</code> determina la forma en que PDO devuelve
   la línea.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-pdostatement.fetch-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">mode</code></dt>
     <dd>
      <p class="para">
       Controla cómo se devolverá la siguiente línea al llamante. Este valor
       debe ser una de las constantes <code class="literal">PDO::FETCH_*</code>,
       y por omisión, vale la constante <code class="literal">PDO::ATTR_DEFAULT_FETCH_MODE</code>
       (que por omisión vale la constante <code class="literal">PDO::FETCH_BOTH</code>).
       <ul class="itemizedlist">
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_ASSOC</code>: devuelve un array indexado por el nombre
         de la columna como se devuelve en el conjunto de resultados
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_BOTH</code> (por omisión): devuelve un array indexado
         por los nombres de columnas y también por los números de columnas,
         comenzando en el índice 0, como se devuelve en el conjunto de resultados
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_BOUND</code>: devuelve <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> y asigna los valores
         de las columnas de su conjunto de resultados en las variables PHP a las que
         están vinculadas con el método
         <span class="methodname"><a href="pdostatement.bindcolumn.php" class="methodname">PDOStatement::bindColumn()</a></span>
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_CLASS</code>: devuelve una nueva instancia
         de la clase solicitada. El objeto se inicializa mapeando las columnas del conjunto de resultados a
         las propiedades de la clase. Este proceso ocurre antes de que se llame al
         constructor, permitiendo la población de las propiedades, independientemente de su
         visibilidad o de su marca como <code class="literal">readonly</code>. Si
         una propiedad no existe en la clase, se invocará el método mágico
         <a href="language.oop5.overloading.php#object.set" class="link">__set()</a>
         si existe; de lo contrario, se creará una propiedad pública dinámica.
         Sin embargo, cuando <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong>
         también está especificado, el constructor se llama <em>antes</em> de
         que las propiedades sean pobladas. Si <code class="parameter">mode</code> incluye
         <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-classtype">PDO::FETCH_CLASSTYPE</a></code></strong> (p.ej.
         <code class="literal">PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE</code>), el nombre
         de la clase se determina a partir del valor de la primera columna.
        </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_INTO</code> : actualiza una instancia existente
         de la clase solicitada, vinculando las columnas del conjunto de resultados a los nombres de las propiedades
         de la clase
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_LAZY</code> : combina
         <code class="literal">PDO::FETCH_BOTH</code> y <code class="literal">PDO::FETCH_OBJ</code>,
         y devuelve un objeto <span class="classname"><a href="class.pdorow.php" class="classname">PDORow</a></span>
         que crea los nombres de propiedad del objeto a medida que se acceden.
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_NAMED</code> : devuelve un array de la misma
         forma que <code class="literal">PDO::FETCH_ASSOC</code>, excepto que si hay
         múltiples columnas con los mismos nombres, el valor apuntado por esta clave
         será un array de todas las valores de la línea que tiene ese nombre como columna
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_NUM</code> : devuelve un array indexado por el
         número de la columna como se devuelve en su conjunto de resultados,
         comenzando en 0
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_OBJ</code> : devuelve un objeto anónimo con los
         nombres de propiedades que corresponden a los nombres de las columnas devueltas en el
         conjunto de resultados
         </p></li>
        <li class="listitem"><p class="para">
         <code class="literal">PDO::FETCH_PROPS_LATE</code> : cuando se usa con
         <code class="literal">PDO::FETCH_CLASS</code>, el constructor de la clase es
         llamado antes de que las propiedades sean asignadas a partir de los
         valores de columna respectivos.
         </p></li>
       </ul>
      </p>
     </dd>
    
    
     <dt><code class="parameter">cursorOrientation</code></dt>
     <dd>
      <p class="para">
       Para un objeto PDOStatement que representa un cursor desplazable,
       este valor determina qué línea se devolverá al llamante.
       Este valor debe ser una de las constantes
       <code class="literal">PDO::FETCH_ORI_*</code>, y por omisión, vale
       <code class="literal">PDO::FETCH_ORI_NEXT</code>. Para solicitar un cursor
       desplazable para su objeto PDOStatement, debe definir
       el atributo <code class="literal">PDO::ATTR_CURSOR</code> a <code class="literal">PDO::CURSOR_SCROLL</code>
       cuando prepare la consulta SQL con la función
       <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">
       Para un objeto PDOStatement que representa un cursor desplazable para
       el cual el argumento <code class="parameter">cursorOrientation</code> está definido
       a <code class="literal">PDO::FETCH_ORI_ABS</code>, este valor especifica
       el número absoluto de la línea en el conjunto de resultados que debe ser
       recuperada.
      </p>
      <p class="para">
       Para un objeto PDOStatement que representa un cursor desplazable para
       el cual el argumento <code class="parameter">cursorOrientation</code> está definido
       a <code class="literal">PDO::FETCH_ORI_REL</code>, este valor especifica la línea
       a recuperar relativamente a la posición del cursor antes de la llamada a la función
       <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">Valores devueltos</h3>
  <p class="para">
   El valor devuelto por esta función en caso de éxito depende del tipo recuperado.
   En todos los casos, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> se devuelve si ocurre un error o si no hay más líneas.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-pdostatement.fetch-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <p class="para">
Emite un error de nivel <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> si el atributo <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> está definido
a <strong><code><a href="pdo.constants.php#pdo.constants.errmode-warning">PDO::ERRMODE_WARNING</a></code></strong>.
</p>
<p class="para">
Lanza una excepción <span class="classname"><a href="class.pdoexception.php" class="classname">PDOException</a></span> si el atributo <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> está definido
a <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">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Recuperación de líneas utilizando diferentes métodos</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 nom, couleur 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">/* estilos 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">"Devuelve la siguiente línea como un array indexado por el nombre de las columnas\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_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">"Devuelve la siguiente línea como un array indexado por el nombre y el número de la columna\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_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">"Devuelve la siguiente línea como objeto PDORow con los nombres de columnas como propiedades\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_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">"Devuelve la siguiente línea como objeto anónimo con los nombres de columnas como propiedades\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>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">PDO::FETCH_ASSOC: Devuelve la siguiente línea como un array indexado por el nombre de las columnas
Array
(
    [nom] =&gt; apple
    [couleur] =&gt; red
)

PDO::FETCH_BOTH: Devuelve la siguiente línea como un array indexado por el nombre y el número de la columna
Array
(
    [nom] =&gt; banana
    [0] =&gt; banana
    [couleur] =&gt; yellow
    [1] =&gt; yellow
)

PDO::FETCH_LAZY: Devuelve la siguiente línea como objeto PDORow con los nombres de columnas como propiedades PDORow Object
(
    [nom] =&gt; orange
    [couleur] =&gt; orange
)

PDO::FETCH_OBJ: Devuelve la siguiente línea como objeto anónimo con los nombres de columnas como propiedades kiwi</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Recuperación de líneas con un cursor desplazable</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">"Lectura hacia adelante :\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">"Lectura hacia atrás :\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>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Lectura hacia adelante :
21    10    5
16    0     5
19    20    10

Lectura hacia atrás :
19    20    10
16    0     5
21    10    5</pre>
</div>
    </div>
   </div>

   <div class="example" id="example-3"><p><strong>Ejemplo #3 Orden de construcción</strong></p>
    <div class="example-contents"><p>
     Cuando los objetos son recuperados mediante <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-class">PDO::FETCH_CLASS</a></code></strong>,
     las propiedades del objeto se asignan primero, luego se llama al constructor
     de la clase. Sin embargo, cuando <strong><code><a href="pdo.constants.fetch-modes.php#pdo.constants.fetch-props-late">PDO::FETCH_PROPS_LATE</a></code></strong> también está especificado,
     este orden se invierte, es decir, el constructor se llama primero, luego
     las propiedades son asignadas.
    </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">"Soy </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">"Aún no tengo nombre.\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>Resultado del ejemplo anterior es similar a:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Soy Alice.
Soy Alice.
Aún no tengo nombre.
Soy Bob.</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-pdostatement.fetch-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="pdo.prepare.php" class="methodname" rel="rdfs-seeAlso">PDO::prepare()</a> - Prepara una consulta para su ejecuci&oacute;n y devuelve un objeto</span></li>
    <li><span class="methodname"><a href="pdostatement.execute.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::execute()</a> - Ejecuta una consulta preparada</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchall.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchAll()</a> - Recupera las l&iacute;neas restantes de un conjunto de resultados</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchcolumn.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchColumn()</a> - Devuelve una columna de la siguiente fila de un conjunto de resultados</span></li>
    <li><span class="methodname"><a href="pdostatement.fetchobject.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::fetchObject()</a> - Recupera la siguiente l&iacute;nea y la devuelve como objeto</span></li>
    <li><span class="methodname"><a href="pdostatement.setfetchmode.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::setFetchMode()</a> - Establece el modo de recuperaci&oacute;n por defecto para esta consulta</span></li>
   </ul>
  </p>
 </div>

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