array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.oci-fetch.php', 1 => 'oci_fetch', ), 'up' => array ( 0 => 'ref.oci8.php', 1 => 'OCI8 Функции', ), 'prev' => array ( 0 => 'function.oci-fetch-row.php', 1 => 'oci_fetch_row', ), 'next' => array ( 0 => 'function.oci-field-is-null.php', 1 => 'oci_field_is_null', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/oci8/functions/oci-fetch.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch — Выбирает следующую строку из результата в буфер
Выбирает следующую строку из результата запроса во внутренний буфер, доступный с помощью oci_result() или через переменные, заранее определённые с помощью oci_define_by_name().
Смотрите oci_fetch_array() для более детальной информации о выборе данных.
statement
Корректный идентификатор
выражения OCI8, полученный из функции oci_parse()
и исполненный функцией oci_execute(),
или идентификатор выражения REF CURSOR
.
Возвращает true
в случае успешного выполнения или false
, если в результате
statement
больше нет рядов.
Пример #1 Пример использования oci_fetch() с определёнными переменными
<?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_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);
oci_execute($stid);
// С каждой выборкой переменные заполняются данными следующего ряда
while (oci_fetch($stid)) {
echo "Идентификатор местоположения $city = $locid<br>\n";
}
// Выведет:
// Идентификатор местоположения Roma = 1000
// Идентификатор местоположения Venice = 1100
oci_free_statement($stid);
oci_close($conn);
?>
Пример #2 Пример использования oci_fetch() с 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";
}
// Выведет:
// 1000 = Roma
// 1100 = Venice
oci_free_statement($stid);
oci_close($conn);
?>
Замечание:
Не возвращает строки для неявных результирующих наборов в Oracle Database. Используйте вместо данной функции функцию oci_fetch_array().