PHP8 db2_prepare

2024-04-07 10:24 更新

(PECL ibm_db2 >= 1.0.0)

db2_prepare — 准备要执行的 SQL 语句

说明

db2_prepare(resource $connection, string $statement, array $options = []): resource|false

db2_prepare() 创建一个准备好的 SQL 语句,该语句可以 包括 0 个或多个参数标记(字符) 表示输入、输出或输入/输出的参数。你可以通过 使用 db2_bind_param() 或仅用于输入值的参数作为数组添加到准备好的语句中 传递给 db2_execute()。?

在 应用:

  • 性能:当您准备语句时, 数据库服务器创建优化的访问计划,用于检索数据 那句话。随后使用 db2_execute() 发出准备好的语句,使语句能够重用 访问计划,避免动态创建新访问的开销 计划您发出的每份声明。
  • 安全性:当您准备报表时,您可以 包括输入值的参数标记。当您执行准备好的 带有占位符输入值的语句,数据库服务器将检查 每个输入值,以确保类型与列定义匹配,或者 参数定义。
  • 高级功能:不仅参数标记 使您能够将输入值传递给准备好的 SQL 语句,它们还 使您能够从存储过程中检索 OUT 和 INOUT 参数 使用 db2_bind_param()。

参数 

connection

从 db2_connect() 或 db2_pconnect() 返回的有效数据库连接资源变量。

statement

一个 SQL 语句,可以选择包含一个或多个参数标记。

options

包含语句选项的关联数组。你可以用这个 参数,用于在数据库服务器上请求可滚动游标 支持此功能。

有关有效语句选项的说明,请参见 db2_set_option()。

返回值 

如果 SQL 语句已成功解析,则返回语句资源,并且 由数据库服务器准备。如果数据库服务器返回 false,则返回 返回错误。您可以通过调用 db2_stmt_error() 或 db2_stmt_errormsg() 来确定返回了哪个错误。

示例 

示例 #1 准备和执行带有参数标记的 SQL 语句

下面的示例准备一个 INSERT 语句,该语句接受四个 参数标记,然后遍历包含 要传递给 db2_execute() 的输入值。

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

参见 

  • db2_bind_param() - 将 PHP 变量绑定到 SQL 语句参数
  • db2_execute() - 执行准备好的 SQL 语句
  • db2_stmt_error() - 返回一个字符串,其中包含 SQL 语句返回的 SQLSTATE
  • db2_stmt_errormsg() - 返回包含最后一个 SQL 语句错误消息的字符串


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

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号