函式名稱:ocifetchstatement()
適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
用法:ocifetchstatement(resource $statement, array &$output [, int $skip [, int $maxrows [, int $flags]]]): int|false
函式說明:ocifetchstatement() 函式從一個結果控制代碼中提取多行資料,並將其儲存到一個陣列中。該函式可以用於獲取大量資料行而無需使用 fetch() 或 fetchAll() 函式一次一行地獲取資料。
引數:
- $statement:必需,一個有效的結果控制代碼,由 oci_parse() 或 oci_execute() 返回。
- $output:必需,一個引用型別的陣列,用於儲存提取的資料行。
- $skip:可選,一個整數引數,表示跳過開始的行數,預設為 0。
- $maxrows:可選,一個整數引數,表示最大提取的行數,預設為 -1,表示提取所有行。
- $flags:可選,一個整數引數,表示提取標誌,可以是以下常量的按位或:OCI_FETCHSTATEMENT_BY_ROW、OCI_FETCHSTATEMENT_BY_COLUMN,預設為 0。
返回值:
- 成功時返回提取的行數,失敗時返回 false。
示例:
$conn = oci_connect('username', 'password', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$query = 'SELECT * FROM employees';
$statement = oci_parse($conn, $query);
oci_execute($statement);
$output = array();
if (ocifetchstatement($statement, $output) !== false) {
foreach ($output as $row) {
echo implode(', ', $row) . "<br>";
}
}
oci_free_statement($statement);
oci_close($conn);
以上示例演示瞭如何使用 ocifetchstatement() 函式從 "employees" 表中提取所有行資料,並將其儲存在陣列 $output 中。然後,透過遍歷陣列,將每一行的資料以逗號分隔的形式輸出到頁面上。
請注意,在使用 ocifetchstatement() 函式之前,需要先使用 oci_parse() 函式和 oci_execute() 函式準備和執行 SQL 查詢。之後,需要使用 oci_free_statement() 函式釋放結果控制代碼,並使用 oci_close() 函式關閉資料庫連線。
此外,還可以根據需要設定跳過行數、最大提取行數和提取標誌。
熱門工具排行榜