PHP Conference Japan 2024

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_identifieroption 參數。

option 參數用於決定在查詢執行後是否獲取 OID,以及是否以同步或非同步模式執行查詢。可以使用位元 OR 運算子指定 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 時,傳回請求識別碼;當處理成功且第一個參數為 request_identifier 時,傳回 true;失敗時,傳回 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