(PECL CUBRID >= 8.3.0)
cubrid_execute — 执行预准备的 SQL 语句
cubrid_execute() 函数用于执行给定的 SQL 语句。它使用 $conn_identifier
和 SQL 执行查询,然后返回创建的请求标识符。它用于简单地执行查询,其中不需要参数绑定。此外,cubrid_execute() 函数用于通过 cubrid_prepare() 和 cubrid_bind() 执行预准备语句。此时,您需要指定 $request_identifier
和 $option
的参数。
$option
用于确定在查询执行后是否获取 OID 以及是否以同步或异步模式执行查询。CUBRID_INCLUDE_OID
和 CUBRID_ASYNC
(或者如果您想执行多个 SQL 语句,则为 CUBRID_EXEC_QUERY_ALL
)可以使用按位或运算符指定。如果未指定,则两者都不选择。如果设置了标志 CUBRID_EXEC_QUERY_ALL
,则使用同步模式 (sync_mode) 检索查询结果,在这种情况下,将应用以下规则
如果第一个参数是 $request_identifier
用于执行 cubrid_prepare() 函数,则您只能指定选项 CUBRID_ASYNC
。
conn_identifier
连接标识符。
sql
要执行的 SQL。
option
查询执行选项 CUBRID_INCLUDE_OID
、CUBRID_ASYNC
、CUBRID_EXEC_QUERY_ALL
。
request_identifier
cubrid_prepare() 标识符。
版本 | 描述 |
---|---|
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