PHP Conference Japan 2024

cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare準備要執行的 SQL 陳述式

說明

cubrid_prepare(資源 $conn_identifier, 字串 $prepare_stmt, 整數 $option = 0): 資源

cubrid_prepare() 函式是一種 API,它將預先編譯的 SQL 陳述式表示給指定的連線控制代碼。這個預編譯的 SQL 陳述式將包含在 cubrid_prepare() 中。

因此,您可以有效地使用此陳述式重複執行多次或處理長數據。只能使用單個陳述式,並且參數可以在 SQL 陳述式中的適當位置放置問號 (?)。當您在 INSERT 陳述式的 VALUES 子句或 WHERE 子句中綁定值時,請添加參數。請注意,僅允許使用 cubrid_bind() 函式將值綁定到標記(?)。

參數

conn_identifier

連線識別碼。

prepare_stmt

準備查詢。

option

OID 返回選項 CUBRID_INCLUDE_OID

返回值

如果處理成功,則返回請求識別碼;如果失敗,則返回 false(假)。

範例

範例 #1 cubrid_prepare() 範例

<?php
$conn
= cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;

$req = cubrid_prepare($conn, $sql);

cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);

$row_num = cubrid_num_rows($req);
printf("2004 年奧運有的項目,但 2000 年沒有的項目共有 %d 個。例如:\n\n", $row_num);

printf("%-15s %s\n", "項目代碼", "項目名稱");
printf("----------------------------\n");

$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);

cubrid_disconnect($conn);
?>

上述範例會輸出:

There are 27 event that exits in 2004 olympic but not in 2000. For example:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top