(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch — Busca a próxima linha de uma consulta em buffers internos
Busca a próxima linha de uma consulta em buffers internos acessíveis com oci_result() ou usando variáveis previamente definidas com oci_define_by_name().
Consulte oci_fetch_array() para obter informações gerais sobre como buscar dados.
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
.
Exemplo #1 oci_fetch() com variáveis definidas
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
// As definições DEVEM ser feitas antes da execução
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);
oci_execute($stid);
// Cada busca preenche as variáveis definidas anteriormente com os dados da próxima linha
while (oci_fetch($stid)) {
echo "Localização ID $locid é $city<br>\n";
}
// Exibe:
// Localização ID 1000 é Roma
// Localização ID 1100 é Venice
oci_free_statement($stid);
oci_close($conn);
?>
Exemplo #2 oci_fetch() com oci_result()
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
while (oci_fetch($stid)) {
echo oci_result($stid, 'LOCATION_ID') . " é ";
echo oci_result($stid, 'CITY') . "<br>\n";
}
// Exibe:
// 1000 é Roma
// 1100 é Venice
oci_free_statement($stid);
oci_close($conn);
?>
Nota:
Esta função não retornará linhas de conjuntos de resultados implícitos do Oracle Database. Use oci_fetch_array() em vez disso.