函数名称:pg_query_params()
适用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8
函数描述:pg_query_params() 函数执行一个带有参数的 PostgreSQL 查询。与 pg_query() 不同的是,pg_query_params() 可以安全地处理参数值,避免了 SQL 注入的风险。
语法:pg_query_params(resource $connection, string $query, array $params)
参数:
- $connection:PostgreSQL 数据库连接资源。
- $query:要执行的查询字符串。
- $params:包含查询参数值的关联数组。数组的键是参数的名称,数组的值是参数的值。
返回值:如果查询执行成功,则返回一个结果资源。如果查询失败,则返回 FALSE。
示例:
// 创建数据库连接
$conn = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypassword");
// 准备查询语句
$query = "SELECT * FROM users WHERE age > $1 AND gender = $2";
// 设置查询参数
$params = array(25, 'female');
// 执行查询
$result = pg_query_params($conn, $query, $params);
// 检查查询是否成功
if ($result) {
// 处理查询结果
while ($row = pg_fetch_assoc($result)) {
echo "Name: " . $row['name'] . ", Age: " . $row['age'] . ", Gender: " . $row['gender'] . "<br>";
}
} else {
echo "Query failed!";
}
// 关闭数据库连接
pg_close($conn);
上面的示例演示了如何使用 pg_query_params() 函数执行带有参数的 PostgreSQL 查询。首先,我们创建了一个数据库连接。然后,定义了一个查询语句,其中包含两个参数占位符 $1 和 $2。接下来,我们使用一个关联数组来设置查询参数的值。最后,通过调用 pg_query_params() 函数执行查询,并根据查询结果进行处理。在处理结果时,我们使用 pg_fetch_assoc() 函数从结果集中获取每一行的数据,并将其打印出来。如果查询失败,则打印出 "Query failed!"。最后,我们关闭了数据库连接。请注意,在实际使用中,应该根据需要进行错误处理和参数验证。