Ejecuta una consulta PostgreSQL asíncrona

# pg_send_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_send_query — Ejecuta una consulta PostgreSQL asíncrona

### Descripción

function pg_send_query(PgSql\Connection `$connection`, string `$query`): int|bool

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.

### Parámetros

`connection`
  Una instancia PgSql\Connection.
`query`

  La consulta o las consultas SQL a ser ejecutadas.

  Los datos contenidos en la consulta deben ser escaped correctamente.

### Valores devueltos

Devuelve `true` en caso de éxito, `false` o `0` en caso de fallo. Utilice pg_get_result() para determinar el resultado de la consulta.

### Historial de cambios

Versión | Descripción
--- | ---
8.1.0 | El parámetro `connection` ahora espera una instancia de PgSql\Connection ; anteriormente, se esperaba un resource.

### Ejemplos

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 ejemplo anterior mostrará:

    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

### Ver también

- pg_query() - Ejecuta una consulta PostgreSQL
- pg_cancel_query() - Cancela una consulta asíncrona
- pg_get_result() - Lee un resultado asíncrono de PostgreSQL
- pg_connection_busy() - Verifica si la conexión PostgreSQL está ocupada

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open