pg_send_query
pg_send_query
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_send_query - 发送异步查询
描述
bool pg_send_query ( resource $connection , string $query )
pg_send_query()
异步发送一个或多个查询connection
。与pg_query()不同,它可以一次向PostgreSQL发送多个查询,并使用pg_get_result()逐个获取结果。
执行查询时,脚本执行不会被阻止。使用pg_connection_busy()检查连接是否繁忙(即查询正在执行)。使用pg_cancel_query()可以取消查询。
虽然用户可以一次发送多个查询,但多个查询无法通过繁忙的连接发送。如果在连接忙时发送查询,它将等待直到最后一个查询完成并放弃所有结果。
参数
connection
PostgreSQL数据库连接资源。
query
要执行的SQL语句或语句。
查询中的数据应正确转义。
返回值
成功返回时TRUE
或失败时返回FALSE
。
使用pg_get_result()来确定查询结果。
例子
示例#1 pg_send_query()示例
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect"
if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from authors; select count(*) from authors;"
}
$res1 = pg_get_result($dbconn
echo "First call to pg_get_result(): $res1\n";
$rows1 = pg_num_rows($res1
echo "$res1 has $rows1 records\n\n";
$res2 = pg_get_result($dbconn
echo "Second call to pg_get_result(): $res2\n";
$rows2 = pg_num_rows($res2
echo "$res2 has $rows2 records\n";
?>
上面的例子将输出:
First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records
Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records