查询

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函数
分享链接