oci_fetch

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

oci_fetch将查询的下一行提取到内部缓冲区中

描述

oci_fetch(resource $statement): bool

将查询的下一行提取到内部缓冲区中,可以通过 oci_result() 访问,或者使用之前使用 oci_define_by_name() 定义的变量访问。

有关提取数据的详细信息,请参见 oci_fetch_array()

参数

statement

oci_parse() 创建并由 oci_execute() 执行的有效 OCI8 语句标识符,或 REF CURSOR 语句标识符。

返回值

如果成功则返回 true,如果 statement 中没有更多行则返回 false

示例

示例 #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
"Location id $locid is $city<br>\n";
}

// 显示:
// Location id 1000 is Roma
// Location id 1100 is Venice

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') . " is ";
echo
oci_result($stid, 'CITY') . "<br>\n";
}

// 显示:
// 1000 is Roma
// 1100 is Venice

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

?>

备注

注意:

不会从 Oracle 数据库隐式结果集中返回行。请改用 oci_fetch_array()

参见

添加说明

用户贡献说明

此页面没有用户贡献说明。
To Top