函数名称:pg_send_execute()
适用版本:PHP 5 >= 5.6.0, PHP 7, PHP 8
函数描述:pg_send_execute()函数向PostgreSQL服务器发送一个异步执行的命令。
用法: bool pg_send_execute(resource $connection, string $stmtname, array $params)
参数:
- $connection:一个有效的 PostgreSQL 连接资源。
- $stmtname:要执行的准备好的语句的名称。
- $params:一个包含参数值的关联数组。数组的键是参数的名称,数组的值是参数的值。
返回值: 如果发送成功,则返回true,否则返回false。
示例: <?php // 创建一个 PostgreSQL 连接 $conn = pg_connect("host=localhost port=5432 dbname=test user=postgres password=123456");
// 准备一个语句 pg_prepare($conn, "my_query", 'SELECT * FROM my_table WHERE id = $1');
// 设置参数 $params = array(1);
// 发送异步执行的命令 pg_send_execute($conn, "my_query", $params);
// 检查是否有结果 if (pg_connection_busy($conn)) { echo "正在执行查询...\n";
// 等待结果返回
pg_get_result($conn);
// 获取结果
$result = pg_get_result($conn);
// 处理结果
while ($row = pg_fetch_assoc($result)) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "\n";
}
} else { echo "查询发送失败\n"; }
// 关闭连接 pg_close($conn); ?>
以上示例演示了如何使用pg_send_execute()函数向PostgreSQL服务器发送一个异步执行的命令,并等待结果返回。首先,我们创建一个PostgreSQL连接,然后准备一个语句,并设置参数。接下来,我们使用pg_send_execute()函数发送异步执行的命令。然后,我们使用pg_connection_busy()函数检查连接是否正在执行查询。如果是,我们等待结果返回,并使用pg_get_result()函数获取结果。最后,我们使用pg_fetch_assoc()函数遍历结果集并处理每一行的数据。如果查询发送失败,我们将输出一条错误消息。最后,我们关闭连接。