函数名称:pg_prepare()
适用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
函数描述:pg_prepare() 函数用于在 PostgreSQL 数据库中创建一个预处理语句。
语法:pg_prepare(connection, stmtname, query)
参数:
- connection:必需,一个有效的 PostgreSQL 数据库连接资源。
- stmtname:必需,预处理语句的名称,用于标识预处理语句。
- query:必需,包含 SQL 查询的字符串。
返回值:如果成功,返回一个预处理语句的资源标识符;如果失败,返回 FALSE。
示例:
// 创建一个 PostgreSQL 数据库连接
$connection = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypassword");
// 准备一个预处理语句
$query = "SELECT * FROM users WHERE id = $1 AND name = $2";
$stmtname = "myquery";
$preparedQuery = pg_prepare($connection, $stmtname, $query);
if ($preparedQuery) {
// 执行预处理语句
$params = array(1, "John");
$result = pg_execute($connection, $stmtname, $params);
if ($result) {
// 处理结果集
while ($row = pg_fetch_assoc($result)) {
echo "User ID: " . $row['id'] . ", Name: " . $row['name'] . "<br>";
}
} else {
echo "执行预处理语句失败。";
}
} else {
echo "创建预处理语句失败。";
}
// 关闭数据库连接
pg_close($connection);
上述示例演示了如何使用 pg_prepare() 函数创建一个预处理语句,并使用 pg_execute() 函数执行该预处理语句。首先,我们建立了一个 PostgreSQL 数据库连接。然后,我们使用 pg_prepare() 函数创建了一个名为 "myquery" 的预处理语句,该语句用于查询 users 表中满足给定条件的记录。接下来,我们使用 pg_execute() 函数执行该预处理语句,并将参数数组传递给它。最后,我们使用 pg_fetch_assoc() 函数遍历结果集并输出查询结果。
请注意,在实际使用中,为了安全起见,建议使用参数化查询来防止 SQL 注入攻击。在示例中,我们使用了参数化查询,通过数组 $params 传递参数值。