cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_execute执行预准备的 SQL 语句

描述

cubrid_execute(资源 $conn_identifier, 字符串 $sql, 整数 $option = 0): 资源
cubrid_execute(资源 $request_identifier, 整数 $option = 0): 布尔值

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

$option 用于确定在查询执行后是否获取 OID 以及是否以同步或异步模式执行查询。CUBRID_INCLUDE_OIDCUBRID_ASYNC(或者如果您想执行多个 SQL 语句,则为 CUBRID_EXEC_QUERY_ALL)可以使用按位或运算符指定。如果未指定,则两者都不选择。如果设置了标志 CUBRID_EXEC_QUERY_ALL,则使用同步模式 (sync_mode) 检索查询结果,在这种情况下,将应用以下规则

  • 返回值是第一个查询的结果。
  • 如果任何查询发生错误,则执行将被视为失败。
  • 在由 q1 q2 q3 组成的查询中,如果在 q1 成功后 q2 发生错误,则 q1 的结果仍然有效。也就是说,当发生错误时,之前成功的查询执行不会回滚。
  • 如果查询成功执行,可以使用 cubrid_next_result() 获取第二个查询的结果。

如果第一个参数是 $request_identifier 用于执行 cubrid_prepare() 函数,则您只能指定选项 CUBRID_ASYNC

参数

conn_identifier

连接标识符。

sql

要执行的 SQL。

option

查询执行选项 CUBRID_INCLUDE_OIDCUBRID_ASYNCCUBRID_EXEC_QUERY_ALL

request_identifier

cubrid_prepare() 标识符。

返回值

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

变更日志

版本 描述
8.4.0 添加新选项 CUBRID_EXEC_QUERY_ALL

示例

示例 #1 cubrid_execute() 示例

<?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

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top