函数名:oci_execute()
适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
用法: oci_execute()函数用于执行由OCI8扩展提供的SQL语句或PL/SQL块。它用于执行已经准备好的语句句柄,并返回执行结果。该函数可以用于执行INSERT、UPDATE、DELETE等SQL操作,也可以用于执行存储过程或函数。
语法: bool oci_execute ( OCI-Statement $statement [, int $mode = OCI_COMMIT_ON_SUCCESS ] )
参数:
- $statement:OCI-Statement类型的句柄,由oci_parse()函数创建。
- $mode(可选):指定提交模式,默认为OCI_COMMIT_ON_SUCCESS。可选值有:
- OCI_COMMIT_ON_SUCCESS:在执行成功时自动提交事务。
- OCI_DEFAULT:不自动提交事务,需要手动调用oci_commit()函数提交或oci_rollback()函数回滚。
- OCI_DESCRIBE_ONLY:仅描述SQL语句,不执行。
返回值:
- 执行成功时返回true,执行失败时返回false。
示例: <?php // 创建连接 $conn = oci_connect('username', 'password', 'localhost/XE');
// 准备SQL语句 $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);
// 执行语句
if (oci_execute($stmt)) {
// 读取结果
while ($row = oci_fetch_array($stmt)) {
echo $row['EMPLOYEE_NAME'] . ', ' . $row['SALARY'] . '
';
}
} else {
echo '执行失败';
}
// 关闭连接 oci_close($conn); ?> 以上示例演示了如何使用oci_execute()函数执行一条带有参数的SQL语句,并读取执行结果。首先,创建数据库连接。然后,使用oci_parse()函数准备SQL语句,并使用oci_bind_by_name()函数绑定参数。最后,使用oci_execute()函数执行语句,并使用oci_fetch_array()函数读取执行结果。如果执行成功,则输出员工姓名和薪水;如果执行失败,则输出执行失败的消息。最后,关闭连接。