PHP8 cubrid_prepare

2024-03-28 09:32 更新

(PECL CUBRID >= 8.3.0)

cubrid_prepare — 准备要执行的 SQL 语句

说明

cubrid_prepare(resource $conn_identifier, string $prepare_stmt, int $option = 0): resource

cubrid_prepare() 函数是一种表示 SQL 语句的 API 之前编译到给定的连接句柄。将包含此预编译的 SQL 语句 在 cubrid_prepare() 中。

因此,您可以有效地使用此语句重复执行几次或 处理长数据。只能使用单个语句,参数可能会打一个问号 (?) 添加到 SQL 语句中的相应区域。在 VALUES 中绑定值时添加参数 INSERT 语句或 WHERE 子句中的子句。请注意,允许将值绑定到 MARK(?) 仅使用 cubrid_bind() 函数。

参数 

conn_identifier

连接标识符。

prepare_stmt

准备查询。

option

OID 返回选项CUBRID_INCLUDE_OID

返回值 

请求标识符, if process is successful, 或者在失败时返回 false.

示例 

示例 #1 cubrid_prepare() example

<?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

参见 

  • cubrid_execute() - 执行准备好的 SQL 语句
  • cubrid_bind() - 将变量作为参数绑定到准备好的语句


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号