PHP8 cubrid_execute
(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_OID
、CUBRID_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() - 回滚事务