(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_send_query — Ejecuta una consulta PostgreSQL asíncrona
pg_send_query() envía una consulta o varias consultas
de manera asíncrona a la conexión connection
.
A diferencia de pg_query(), puede enviar varias consultas
al mismo tiempo al servidor PostgreSQL y obtener los resultados uno por uno
utilizando pg_get_result().
La ejecución del script no se bloquea durante la ejecución de las consultas. Se puede utilizar pg_connection_busy() para verificar si la conexión está ocupada (es decir, si la consulta se está ejecutando). Las consultas pueden ser canceladas con pg_cancel_query().
Aunque se puedan enviar varias consultas al mismo tiempo, no es posible enviar varias consultas en una conexión ocupada. Si se envía una consulta cuando la conexión está ocupada, esperará a que la consulta anterior termine y perderá todos sus resultados.
connection
El recurso de conexión de la base de datos PostgreSQL.
query
La consulta o las consultas SQL a ser ejecutadas.
Los datos contenidos en la consulta deben ser escaped correctamente.
Devuelve true
en caso de éxito, false
o 0
en caso de fallo.
Utilice pg_get_result() para determinar el resultado
de la consulta.
Versión | Descripción |
---|---|
8.1.0 |
The connection parameter expects an PgSql\Connection
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con pg_send_query()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Conexión imposible");
if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn,"select * from autores; select count(*) from autores;");
}
$res1 = pg_get_result($dbconn);
echo "Primera llamada a pg_get_result() : $res1\n";
$rows1 = pg_num_rows($res1);
echo "$res1 tiene $rows1 registros\n\n";
$res2 = pg_get_result($dbconn);
echo "Segunda llamada a pg_get_result() : $res2\n";
$rows2 = pg_num_rows($res2);
echo "$res2 tiene $rows2 registros\n";
?>
El resultado del ejemplo sería:
Primera llamada a pg_get_result() : Resource id #3 Resource id #3 tiene 3 registros Segunda llamada a pg_get_result() : Resource id #4 Resource id #4 tiene 1 registros