查詢

oci_execute()函式—用法及示例

「 執行一個預編譯的SQL語句或者遊標 」


函式名:oci_execute()

適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8 (注意:此函式在PHP 8.1.0版本中被廢棄)

用法:oci_execute()函式用於執行一個預編譯的SQL語句或者遊標。

語法:bool oci_execute(resource $statement [, int $mode = OCI_COMMIT_ON_SUCCESS ])

引數:

  • $statement:一個OCI語句控制代碼,可以是預編譯的語句或者遊標。
  • $mode(可選):指定執行模式。可選值有OCI_COMMIT_ON_SUCCESS、OCI_DEFAULT和OCI_DESCRIBE_ONLY。預設值為OCI_COMMIT_ON_SUCCESS。

返回值:如果執行成功,則返回true。如果執行失敗,則返回false。

示例:

  1. 執行預編譯的SQL語句:
$conn = oci_connect('username', 'password', 'localhost/XE');

$sql = 'SELECT * FROM employees WHERE department_id = :dept_id';
$stmt = oci_parse($conn, $sql);

$dept_id = 10;
oci_bind_by_name($stmt, ':dept_id', $dept_id);

oci_execute($stmt);

while ($row = oci_fetch_array($stmt, OCI_ASSOC)) {
    // 處理結果
}

oci_free_statement($stmt);
oci_close($conn);
  1. 執行遊標:
$conn = oci_connect('username', 'password', 'localhost/XE');

$cursor = oci_new_cursor($conn);
$stmt = oci_parse($conn, 'BEGIN open :cursor for SELECT * FROM employees; END;');
oci_bind_by_name($stmt, ':cursor', $cursor, -1, OCI_B_CURSOR);

oci_execute($stmt);
oci_execute($cursor);

while ($row = oci_fetch_array($cursor, OCI_ASSOC)) {
    // 處理結果
}

oci_free_statement($stmt);
oci_free_statement($cursor);
oci_close($conn);

以上示例中,第一個示例展示瞭如何執行一條預編譯的SQL語句,並使用oci_bind_by_name()函式繫結引數。第二個示例展示瞭如何執行一個遊標,並使用oci_new_cursor()函式建立遊標。

補充糾錯
上一個函式: oci_fetch()函式
下一個函式: oci_error()函式
熱門PHP函式
分享連結