pg_send_query
Syntax
bool pg_send_query ( resource connection, string query )
bool pg_send_query ( string query )
Popis
Príkaz jazyka PHP
Sends asynchronous 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.
Príklad
<?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";
?>
$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";
?>
Výstup príkladu uvedeného vyššie bude:
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
Pozri aj
pg_query, pg_cancel_query, pg_get_result, pg_connection_busy