(PECL CUBRID >= 8.3.0)
cubrid_prepare — 准备一个 SQL 语句以供执行
cubrid_prepare() 函数是一种 API,它表示先前编译到给定连接句柄的 SQL 语句。这个预编译的 SQL 语句将包含在 cubrid_prepare() 中。
因此,您可以有效地使用此语句多次重复执行或处理长数据。只能使用单个语句,并且参数可以将问号 (?) 放置在 SQL 语句中的适当位置。在 INSERT 语句的 VALUES 子句或 WHERE 子句中,当您绑定值时添加参数。请注意,仅允许使用 cubrid_bind() 函数将值绑定到 MARK(?)。
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("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);
printf("%-15s %s\n", "Event_code", "Event_name");
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