array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.pg-query.php', 1 => 'pg_query', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Funções PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-query-params.php', 1 => 'pg_query_params', ), 'next' => array ( 0 => 'function.pg-result-error-field.php', 1 => 'pg_result_error_field', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/pgsql/functions/pg-query.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_query — Execute a query
pg_query() executes the query
on the specified database connection
.
pg_query_params() should be preferred
in most cases.
If an error occurs, and false
is returned, details of the error can
be retrieved using the pg_last_error()
function if the connection is valid.
Nota: Although
connection
can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.
Nota:
This function used to be called pg_exec(). pg_exec() is still available for compatibility reasons, but users are encouraged to use the newer name.
connection
Uma instância de PgSql\Connection.
Quando o parâmetro connection
não for especificado, a conexão padrão será usada.
A conexão padrão é a última conexão feita por pg_connect()
ou pg_pconnect().
A partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.
query
The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.
String interpolation of user-supplied data is extremely dangerous and is likely to lead to SQL injection vulnerabilities. In most cases pg_query_params() should be preferred, passing user-supplied values as parameters rather than substituting them into the query string.
Any user-supplied data substituted directly into a query string should be properly escaped.
An PgSql\Result instance on success, ou false
em caso de falha.
Versão | Descrição |
---|---|
8.1.0 | Agora retorna uma instância de PgSql\Result; anteriormente, um resource era retornado. |
8.1.0 |
O parâmetro connection agora espera uma instância de PgSql\Connection;
anteriormente, um resource era esperado.
|
Exemplo #1 pg_query() example
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}
while ($row = pg_fetch_row($result)) {
echo "Author: $row[0] E-mail: $row[1]";
echo "<br />\n";
}
?>
Exemplo #2 Using pg_query() with multiple statements
<?php
$conn = pg_pconnect("dbname=publisher");
// these statements will be executed as one transaction
$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);
?>