pg_query

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

pg_query Ejecuta una consulta PostgreSQL

Descripción

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

An PgSql\Connection instance. When connection is unspecified, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Advertencia

As of PHP 8.1.0, using the default connection is deprecated.

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 en caso de error.

Historial de cambios

Versión Descripción
8.1.0 Returns an PgSql\Result instance now; previously, a recurso was returned.
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a recurso was expected.

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