(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_query — Ejecuta una consulta PostgreSQL
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.
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().
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.
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.
Una instancia PgSql\Result en caso de éxito, o false
en caso de error.
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.
|
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);
?>