pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query - отправляет асинхронный запрос.

Описание

bool pg_send_query (resource connection, string query)

bool pg_send_query (string query)

pg_send_query() отправляет асинхронный запрос соединению connection. В отличие от pg_query(), она может отправлять множественный запрос в PostgreSQL и получать результаты один за другим, используя pg_get_result(). Выполнение скрипта не блокируется при выполнении запроса. Используйте pg_connection_busy() для проверки занятости соединения (т.е. запрос выполняется). Запрос может быть отменён вызовом pg_cancel_query().

В то же время пользователь может отправлять множественный запрос за один раз. Пользователь не может отправлять множественный запрос по занятому соединению. Если запрос отправляется, когда соединение занято, он ожидает, пока последний запрос не закончится и не вернет все результаты.

Список параметров

connection

PostgreSQL database connection resource.

query

The SQL statement or statements to be executed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Используйте pg_get_result() для получения результатов запроса.

Пример 1. pg_send_query()
  $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

Смотрите также: pg_query(), pg_cancel_query(), pg_get_result(), pg_connection_busy().

Все функции PostgreSQL
Описание на ru2.php.net
Описание на php.ru