<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.oci8.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.oci-fetch-object.php',
    1 => 'oci_fetch_object',
    2 => 'Retorna a pr&oacute;xima linha de uma consulta como um objeto',
  ),
  'up' => 
  array (
    0 => 'ref.oci8.php',
    1 => 'Fun&ccedil;&otilde;es OCI8',
  ),
  'prev' => 
  array (
    0 => 'function.oci-fetch-assoc.php',
    1 => 'oci_fetch_assoc',
  ),
  'next' => 
  array (
    0 => 'function.oci-fetch-row.php',
    1 => 'oci_fetch_row',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/oci8/functions/oci-fetch-object.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.oci-fetch-object" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">oci_fetch_object</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8, PECL OCI8 &gt;= 1.1.0)</p><p class="refpurpose"><span class="refname">oci_fetch_object</span> &mdash; <span class="dc-title">Retorna a próxima linha de uma consulta como um objeto</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.oci-fetch-object-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>oci_fetch_object</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$statement</code></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"> = OCI_ASSOC | OCI_RETURN_NULLS</span></span>): <span class="type"><span class="type"><a href="class.stdclass.php" class="type stdClass">stdClass</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Retorna um objeto contendo a próxima linha do conjunto de resultados de uma consulta.
   Cada atributo do objeto corresponde a uma coluna da linha.
   Esta função normalmente é chamada em um laço até retornar
   <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, indicando que não existem mais linhas.
  </p>
  <p class="para">Para obter detalhes sobre o mapeamento dos tipos de dados realizado pela
extensão OCI8, consulte os <a href="oci8.datatypes.php" class="link">tipos de dados
suportados pelo driver</a>.</p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.oci-fetch-object-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">statement</code></dt>
     <dd>
       <p class="para">Um identificador de declaração OCI8
válida criada por <span class="function"><a href="function.oci-parse.php" class="function">oci_parse()</a></span> e executada
por <span class="function"><a href="function.oci-execute.php" class="function">oci_execute()</a></span> ou um identificador de declaração <code class="literal">REF
CURSOR</code>.</p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.oci-fetch-object-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="para">
   Retorna um objeto. Cada atributo do objeto corresponde a uma
   coluna da linha. Se não houver mais linhas
   em <code class="parameter">statement</code>, então <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> será retornado.
  </p>
  <p class="para">
   Quaisquer colunas <code class="literal">LOB</code> são retornadas como descritores LOB.
  </p>
  <p class="para">
   As colunas <code class="literal">DATE</code> são retornadas como strings
   no formato de data atual. O formato padrão pode ser alterado com
   variáveis ​​de ambiente Oracle, como <code class="literal">NLS_LANG</code> ou
   por um comando <code class="literal">ALTER SESSION SET
   NLS_DATE_FORMAT</code> executado anteriormente.
  </p>
  <p class="para">
   Os nomes de colunas padrão do Oracle, que não diferenciam maiúsculas de minúsculas, terão
   nomes de atributos em letras maiúsculas. Os nomes de colunas que diferenciam maiúsculas de minúsculas terão
   nomes de atributos usando a mesma capitalização de coluna.
   Use <span class="function"><a href="function.var-dump.php" class="function">var_dump()</a></span> no objeto de resultado para verificar
   a capitalização apropriada para acesso ao atributo.
  </p>
  <p class="para">
   Os valores dos atributos serão <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> para quaisquer campos de
   dados <code class="literal">NULL</code>.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.oci-fetch-object-examples">
  <h3 class="title">Exemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemplo #1 Exemplo de <span class="function"><strong>oci_fetch_object()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/*<br />  Antes de executar, crie a tabela:<br />    CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));<br />    INSERT INTO mytab (id, description) values (1, 'Fish and Chips');<br />    COMMIT;<br />*/<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'hr'</span><span style="color: #007700">, </span><span style="color: #DD0000">'welcome'</span><span style="color: #007700">, </span><span style="color: #DD0000">'localhost/XE'</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$e </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_error</span><span style="color: #007700">();<br />    </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #0000BB">htmlentities</span><span style="color: #007700">(</span><span style="color: #0000BB">$e</span><span style="color: #007700">[</span><span style="color: #DD0000">'message'</span><span style="color: #007700">], </span><span style="color: #0000BB">ENT_QUOTES</span><span style="color: #007700">), </span><span style="color: #0000BB">E_USER_ERROR</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$stid </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_parse</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">'SELECT id, description FROM mytab'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /><br />while ((</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_fetch_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">)) != </span><span style="color: #0000BB">false</span><span style="color: #007700">) {<br />    </span><span style="color: #FF8000">// Use nomes de atributos em letras maiúsculas para cada coluna padrão do Oracle<br />    </span><span style="color: #007700">echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ID </span><span style="color: #007700">. </span><span style="color: #DD0000">"&lt;br&gt;\n"</span><span style="color: #007700">;<br />    echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">DESCRIPTION </span><span style="color: #007700">. </span><span style="color: #DD0000">"&lt;br&gt;\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// O resultado é:<br />//    1<br />//    Fish and Chips<br /><br /></span><span style="color: #0000BB">oci_free_statement</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Exemplo #2 <span class="function"><strong>oci_fetch_object()</strong></span> com nomes de colunas que diferenciam maiúsculas de minúsculas</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/*<br />  Antes de executar, crie a tabela com um nome de coluna que diferencie maiúsculas de minúsculas:<br />    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));<br />    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');<br />    COMMIT;<br />*/<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'hr'</span><span style="color: #007700">, </span><span style="color: #DD0000">'welcome'</span><span style="color: #007700">, </span><span style="color: #DD0000">'localhost/XE'</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$e </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_error</span><span style="color: #007700">();<br />    </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #0000BB">htmlentities</span><span style="color: #007700">(</span><span style="color: #0000BB">$e</span><span style="color: #007700">[</span><span style="color: #DD0000">'message'</span><span style="color: #007700">], </span><span style="color: #0000BB">ENT_QUOTES</span><span style="color: #007700">), </span><span style="color: #0000BB">E_USER_ERROR</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$stid </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_parse</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">'SELECT id, "MyDescription" FROM mytab'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /><br />while ((</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_fetch_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">)) != </span><span style="color: #0000BB">false</span><span style="color: #007700">) {<br />    </span><span style="color: #FF8000">// Use nomes de atributos em letras maiúsculas para cada coluna padrão do Oracle<br />    </span><span style="color: #007700">echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ID </span><span style="color: #007700">. </span><span style="color: #DD0000">"&lt;br&gt;\n"</span><span style="color: #007700">;<br />    </span><span style="color: #FF8000">// Use a capitalização exata para o nome da coluna que diferencia maiúsculas de minúsculas<br />    </span><span style="color: #007700">echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">MyDescription </span><span style="color: #007700">. </span><span style="color: #DD0000">"&lt;br&gt;\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// Resultado:<br />//    1<br />//    Iced Coffee<br /><br /></span><span style="color: #0000BB">oci_free_statement</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-3">
    <p><strong>Exemplo #3 <span class="function"><strong>oci_fetch_object()</strong></span> com LOBs</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/*<br />  Antes de executar, crie a tabela:<br />    CREATE TABLE mytab (id NUMBER, description CLOB);<br />    INSERT INTO mytab (id, description) values (1, 'A very long string');<br />    COMMIT;<br />*/<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'hr'</span><span style="color: #007700">, </span><span style="color: #DD0000">'welcome'</span><span style="color: #007700">, </span><span style="color: #DD0000">'localhost/XE'</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$e </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_error</span><span style="color: #007700">();<br />    </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #0000BB">htmlentities</span><span style="color: #007700">(</span><span style="color: #0000BB">$e</span><span style="color: #007700">[</span><span style="color: #DD0000">'message'</span><span style="color: #007700">], </span><span style="color: #0000BB">ENT_QUOTES</span><span style="color: #007700">), </span><span style="color: #0000BB">E_USER_ERROR</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$stid </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_parse</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">'SELECT id, description FROM mytab'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /><br />while ((</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_fetch_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">)) != </span><span style="color: #0000BB">false</span><span style="color: #007700">) {<br />    echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ID </span><span style="color: #007700">. </span><span style="color: #DD0000">"&lt;br&gt;\n"</span><span style="color: #007700">;<br />    </span><span style="color: #FF8000">// O código a seguir produzirá os primeiros 11 bytes de DESCRIPTION<br />    </span><span style="color: #007700">echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">DESCRIPTION</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">read</span><span style="color: #007700">(</span><span style="color: #0000BB">11</span><span style="color: #007700">) . </span><span style="color: #DD0000">"&lt;br&gt;\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// O resultado é:<br />//    1<br />//    A very long<br /><br /></span><span style="color: #0000BB">oci_free_statement</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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


 <div class="refsect1 seealso" id="refsect1-function.oci-fetch-object-seealso">
  <h3 class="title">Veja Também</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.oci-fetch.php" class="function" rel="rdfs-seeAlso">oci_fetch()</a> - Busca a pr&oacute;xima linha de uma consulta em buffers internos</span></li>
    <li><span class="function"><a href="function.oci-fetch-all.php" class="function" rel="rdfs-seeAlso">oci_fetch_all()</a> - Busca v&aacute;rias linhas de uma consulta em um array bidimensional</span></li>
    <li><span class="function"><a href="function.oci-fetch-assoc.php" class="function" rel="rdfs-seeAlso">oci_fetch_assoc()</a> - Retorna a pr&oacute;xima linha de uma consulta como um array associativo</span></li>
    <li><span class="function"><a href="function.oci-fetch-array.php" class="function" rel="rdfs-seeAlso">oci_fetch_array()</a> - Retorna a pr&oacute;xima linha de uma consulta como um array associativo ou num&eacute;rico</span></li>
    <li><span class="function"><a href="function.oci-fetch-row.php" class="function" rel="rdfs-seeAlso">oci_fetch_row()</a> - Retorna a pr&oacute;xima linha de uma consulta como um array num&eacute;rico</span></li>
   </ul>
  </p>
 </div>


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