PHP 8.4.6 Released!

oci_fetch_assoc

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_assocRetorna a próxima linha de uma consulta como um array associativo

Descrição

oci_fetch_assoc(resource $statement): array|false

Retorna um array associativo contendo a próxima linha do conjunto de resultados de uma consulta. Cada entrada do array corresponde a uma coluna da linha. Esta função é normalmente chamada em um laço até retornar false, indicando que não existem mais linhas.

Chamar oci_fetch_assoc() é idêntico a chamar oci_fetch_array() com OCI_ASSOC + OCI_RETURN_NULLS.

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 array associativo. Se não houver mais linhas na statement, então false é retornado.

Exemplos

Exemplo #1 Exemplo de oci_fetch_assoc()

<?php

$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 department_id, department_name FROM departments');
oci_execute($stid);

while ((
$row = oci_fetch_assoc($stid)) != false) {
echo
$row['DEPARTMENT_ID'] . " " . $row['DEPARTMENT_NAME'] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Veja oci_fetch_array() para mais exemplos de busca de linhas.

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_array() - Retorna a próxima linha de uma consulta como um array associativo ou numérico
  • oci_fetch_object() - Retorna a próxima linha de uma consulta como um objeto
  • oci_fetch_row() - Retorna a próxima linha de uma consulta como um array numérico

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
2
dbernhardt129 at gmail dot com
14 years ago
Here's a simple example of using the oci_fetch_assoc function for anyone who would like to see it.

<?php
$oconn
= oci_connect('ora_user','ora_pass','ora_inst');
if (!
$oconn){
$msg = "Cannot connect to Oracle ".oci_error();
} else {
$msg = "Connected to Oracle";
}

$select_stmt = "select username from user_table";

$stid = oci_parse($oconn, $select_stmt);
oci_execute($stid);

echo
"<table border='1'>\n";

while (
$row = oci_fetch_assoc($stid)) {
echo
"<tr>\n";
echo
"<td>". $row["USERNAME"] . "</td>\n";
echo
"</tr>\n";
}

echo
"</table>\n";

oci_free_statement($stid);
oci_close($oconn);
?>

Make sure you capitalize the column name for referencing the item in the associative array. Of course, this is just a simple example and you might want to do some processing on the data prior to output, but you get the idea here.
up
0
Dawid Krysiak
11 years ago
Unlike oci_fetch_all(), after using oci_fetch_assoc(), LOB columns (CLOB, BLOB) are NOT returned as strings but as Oci-Lob objects. You have to use Oci-Lob->read() or load() method in order to read column content.
To Top