pg_send_query
(PHP 4 >= 4.2.0)
pg_send_query --
Sends asynchronous query
Description
bool
pg_send_query ( resource connection, string query)
bool
pg_send_query ( string query)
pg_send_query() send asynchronous query to the
connection. Unlike
pg_query(), it can send multiple query to
PostgreSQL and get the result one by one using
pg_get_result(). Script execution is not blocked
while query is executing. Use
pg_connection_busy() to check connection is
busy (i.e. query is executing). Query may be cancelled by calling
pg_cancel_query().
Although user can send multiple query at once, user cannot send
multiple query over busy connection. If query is sent while
connection is busy, it waits until last query is finished and
discards all result.
Example 1. Asynchronous Queries <?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";
?> |
The above example would produce the following output:
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 |
|
See also pg_query(),
pg_cancel_query(),
pg_get_result() and
pg_connection_busy().