oci_fetch_object
  (PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch_object — Retorna a próxima linha de uma consulta como um objeto
  
 
 
  Parâmetros
  
   
    
     - statement
- 
       Um identificador de declaração OCI8
válida criada por oci_parse() e executada
por oci_execute() ou um identificador de declaração REF
CURSOR.
 
 
 
  Valor Retornado
  
   Retorna um objeto. Cada atributo do objeto corresponde a uma
   coluna da linha. Se não houver mais linhas
   em statement, então false será retornado.
  
  
   Quaisquer colunas LOB são retornadas como descritores LOB.
  
  
   As colunas DATE são retornadas como strings
   no formato de data atual. O formato padrão pode ser alterado com
   variáveis de ambiente Oracle, como NLS_LANG ou
   por um comando ALTER SESSION SET
   NLS_DATE_FORMAT executado anteriormente.
  
  
   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 var_dump() no objeto de resultado para verificar
   a capitalização apropriada para acesso ao atributo.
  
  
   Os valores dos atributos serão null para quaisquer campos de
   dados NULL.
  
  
 
  Exemplos
  
   
    Exemplo #1 Exemplo de oci_fetch_object()
    
<?php
/*
  Antes de executar, crie a tabela:
    CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
    INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
    COMMIT;
*/
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
    // Use nomes de atributos em letras maiúsculas para cada coluna padrão do Oracle
    echo $row->ID . "<br>\n";
    echo $row->DESCRIPTION . "<br>\n";
}
// O resultado é:
//    1
//    Fish and Chips
oci_free_statement($stid);
oci_close($conn);
?>
     
    
  
  
   
    Exemplo #2 oci_fetch_object() com nomes de colunas que diferenciam maiúsculas de minúsculas
    
<?php
/*
  Antes de executar, crie a tabela com um nome de coluna que diferencie maiúsculas de minúsculas:
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
    // Use nomes de atributos em letras maiúsculas para cada coluna padrão do Oracle
    echo $row->ID . "<br>\n";
    // Use a capitalização exata para o nome da coluna que diferencia maiúsculas de minúsculas
    echo $row->MyDescription . "<br>\n";
}
// Resultado:
//    1
//    Iced Coffee
oci_free_statement($stid);
oci_close($conn);
?>
     
    
  
  
   
    Exemplo #3 oci_fetch_object() com LOBs
    
<?php
/*
  Antes de executar, crie a tabela:
    CREATE TABLE mytab (id NUMBER, description CLOB);
    INSERT INTO mytab (id, description) values (1, 'A very long string');
    COMMIT;
*/
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
    echo $row->ID . "<br>\n";
    // O código a seguir produzirá os primeiros 11 bytes de DESCRIPTION
    echo $row->DESCRIPTION->read(11) . "<br>\n";
}
// O resultado é:
//    1
//    A very long
oci_free_statement($stid);
oci_close($conn);
?>
     
    
  
  
 
  Veja Também
  
   
    - oci_fetch() - Busca a próxima linha de uma consulta em buffers internos
- oci_fetch_all() - Busca várias linhas de uma consulta em um array bidimensional
- oci_fetch_assoc() - Retorna a próxima linha de uma consulta como um array associativo
- oci_fetch_array() - Retorna a próxima linha de uma consulta como um array associativo ou numérico
- oci_fetch_row() - Retorna a próxima linha de uma consulta como um array numérico