PHP8 cubrid_execute

2024-03-27 10:22 更新

(PECL CUBRID >= 8.3.0)

cubrid_execute — 执行准备好的 SQL 语句

说明

cubrid_execute(resource $conn_identifier, string $sql, int $option = 0): resource
cubrid_execute(resource $request_identifier, int $option = 0): bool

cubrid_execute() 函数用于执行 给定 SQL 语句。它使用 和 SQL 执行查询,然后返回 已创建请求标识符。它用于查询的简单执行, 不需要参数绑定的位置。此外,cubrid_execute() 函数用于执行 通过 cubrid_prepare() 和 cubrid_bind() 准备语句。此时,您需要指定 和 的参数。conn_identifierrequest_identifieroption

用于确定是否获取 OID 查询执行后,是否同步执行查询或 异步模式。CUBRID_INCLUDE_OID 和 CUBRID_ASYNC(如果要执行多个 SQL 语句,则CUBRID_EXEC_QUERY_ALL)可以 使用按位 OR 运算符指定。如果未指定,则两者都不是 他们被选中。如果设置了标志CUBRID_EXEC_QUERY_ALL,则同步 mode (sync_mode) 用于检索查询结果,在这种情况下, 应用以下规则:option

  • 返回值是第一个查询的结果。
  • 如果在任何查询中发生错误,则执行将作为 失败。
  • 在由 q1 q2 q3 组成的查询中,如果错误 Q1 执行成功后发生在 Q2 中,Q1 的结果保持不变 有效。也就是说,不会滚动先前成功的查询执行 发生错误时返回。
  • 如果查询执行成功,则第二个查询的结果可以 使用 cubrid_next_result() 获得。

如果第一个参数是 执行 cubrid_prepare() 函数,可以指定 一个选项,仅CUBRID_ASYNC。request_identifier

参数 

conn_identifier

连接标识符。

sql

要执行的 SQL。

option

查询执行选项 CUBRID_INCLUDE_OIDCUBRID_ASYNC CUBRID_EXEC_QUERY_ALL

request_identifier

cubrid_prepare() 标识符。

返回值 

请求标识符,当进程成功且第一个参数为 conn_identifier;true,当进程成功且第一个参数为 request_identifier, 或者在失败时返回 false.

更新日志 

版本说明
8.4.0添加新选项CUBRID_EXEC_QUERY_ALL

示例 

示例 #1 cubrid_execute() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
    printf("%-20s %-9s %-10s %-5s\n", 
        $row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

以上示例会输出:

athlete              host_year score      unit 
Phelps Michael       2004      51.25      time

参见 

  • cubrid_prepare() - 准备要执行的 SQL 语句
  • cubrid_bind() - 将变量作为参数绑定到准备好的语句
  • cubrid_next_result() - 执行多个 SQL 语句时获取下一个查询的结果
  • cubrid_close_request() - 关闭请求句柄
  • cubrid_commit() - 提交事务
  • cubrid_rollback() - 回滚事务


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号