2024 年日本 PHP 研討會

oci_fetch

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

oci_fetch將查詢的下一列擷取到內部緩衝區

說明

oci_fetch(資源 $statement): 布林值

將查詢的下一列擷取至內部緩衝區,可使用 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
"地區 ID $locid$city<br>\n";
}

// 顯示:
// 地區 ID 1000 為 Roma
// 地區 ID 1100 為 Venice

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

?>

範例 #2 使用 oci_result()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_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