Ejecuta una consulta PostgreSQL

# pg_query

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

pg_query — Ejecuta una consulta PostgreSQL

### Descripción

function pg_query(PgSql\Connection `$connection` = ?, string `$query`): PgSql\Result|false

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.

> Nota: Aunque `connection` puede omitirse, no se recomienda hacerlo, ya que puede resultar difícil encontrar errores en los scripts.

> Nota:

> 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 instancia PgSql\Connection. Cuando `connection` no es especificado, se usa la conexión por defecto. La conexión por defecto es la última conexión hecha por pg_connect() o pg_pconnect()

  Advertencia

  Desde PHP 8.1.0, usar la conexión por defecto 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.

  Advertencia

  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. 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.

### 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 #1 Ejemplo con pg_query()

    <?php

    $conn = pg_pconnect("dbname=publisher");
    if (!$conn) {
      echo "Ocurrió un error.\n";
      exit;
    }

    $result = pg_query($conn, "SELECT autor, email FROM autores");
    if (!$result) {
      echo "Ocurrió un error.\n";
      exit;
    }

    while ($row = pg_fetch_row($result)) {
      echo "Autor: $row[0]  E-mail: $row[1]";
      echo "<br />\n";
    }

    ?>

Ejemplo #2 Uso de pg_query() con múltiples consultas

    <?php

    $conn = pg_pconnect("dbname=publisher");

    // estas consultas se ejecutarán como una sola transacción

    $query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
    $query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
    $query .= "UPDATE authors SET author=NULL WHERE id=3;";

    pg_query($conn, $query);

    ?>

### Ver también

- pg_connect() - Establece una conexión PostgreSQL
- pg_pconnect() - Establece una conexión PostgreSQL persistente
- pg_fetch_array() - Lee una línea de resultado PostgreSQL en un array
- pg_fetch_object() - Lee una fila de resultado PostgreSQL en un objeto
- pg_num_rows() - Devuelve el número de filas de PostgreSQL
- pg_affected_rows() - Devuelve el número de filas afectadas

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