Documentación offline PHP master

pg_query

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

pg_query

Ejecuta una consulta PostgreSQL

Descripción#

pg_query([PgSql\Connection $connection], string $query): PgSql\Result
```php

`pg_query` ejecuta la consulta `query` en la base de datos especificada `connection`. `pg_query_params` debe preferirse en la mayoría de los casos.

Si ocurre un error y se devuelve `false`, los detalles del error pueden recuperarse utilizando la función `pg_last_error` si la conexión es válida.

> [!NOTE]
> Aunque `connection` puede omitirse, no se recomienda hacerlo, ya que puede resultar difícil encontrar errores en los scripts.

> [!NOTE]
> Anteriormente, esta función se llamaba `pg_exec`. `pg_exec` sigue disponible por razones de compatibilidad, pero se recomienda a los usuarios utilizar el nuevo nombre.

## Parámetros

`connection`  
Una `PgSql\Connection` instancia. Cuando `connection` no es especificado, se usa la conexión por defecto. La conexión predeterminada es la última conexión hecha por `pg_connect` o `pg_pconnect`

> [!WARNING]
> Desde PHP 8.1.0, usar la conexión predeterminada está obsoleto.

`query`  
La consulta o consultas SQL a ejecutarse. Cuando se pasan varias consultas a la función, se ejecutan automáticamente como una transacción, a menos que se incluyan los comandos BEGIN/COMMIT en la consulta. Sin embargo, no se recomienda el uso de múltiples transacciones en una sola llamada de función.

> [!WARNING]
> La interpolación de strings proporcionados por el usuario es extremadamente peligrosa y debe tenerse en cuenta el conjunto de vulnerabilidades relacionadas con las [inyecciones SQL](#security.database.sql-injection). En la mayoría de los casos, debe preferirse la función `pg_query_params`; es preferible pasar los valores proporcionados por el usuario como argumentos, en lugar de sustituirlos en la consulta.
>
> Todos los datos de usuario sustituidos directamente en el string de la consulta deben ser [propiamente escapados](#function.pg-escape-string).

## Valores devueltos

Una instancia `PgSql\Result` en caso de éxito, o `false` si ocurre un error.

## Historial de cambios

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

## Ejemplos

Ejemplo con `pg_query`
\n"; } ?>
Uso de `pg_query` con múltiples consultas

```php

Véase también#

pg_connect, pg_pconnect, pg_fetch_array, pg_fetch_object, pg_num_rows, pg_affected_rows