(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,以及是否以同步或非同步模式執行查詢。可以使用位元 OR 運算子指定 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