pg_query
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_query — Executa uma consulta
Descrição
pg_query() executa a query
na connection
do banco de dados especificado.
pg_query_params() deve ser preferido
na maioria dos casos.
Se ocorrer um erro e false
for retornado, os detalhes do erro poderão
ser recuperados usando a função pg_last_error()
se a conexão for válida.
Note: Embora
connection
possa ser omitido, isso não é recomendado, pois pode ser a causa de erros difíceis de encontrar em scripts.
Note:
Esta função costumava ser chamada de pg_exec(). pg_exec() ainda está disponível por motivos de compatibilidade, mas os usuários são incentivados a usar o nome mais recente.
Parâmetros
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().WarningA partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.
query
-
A instrução ou instruções SQL a serem executadas. Quando múltiplas instruções são passadas para a função, elas são automaticamente executadas como uma transação, a menos que haja comandos BEGIN/COMMIT explícitos incluídos na string de consulta. No entanto, não é recomendado usar múltiplas transações em uma chamada de função.
WarningA interpolação de strings de dados fornecidos pelo usuário é extremamente perigosa e provavelmente levará a vulnerabilidades de injeção de SQL. Na maioria dos casos, pg_query_params() deve ser preferido, passando valores fornecidos pelo usuário como parâmetros em vez de substituí-los na string de consulta.
Quaisquer dados fornecidos pelo usuário substituídos diretamente em uma string de consulta devem ser escapados corretamente.
Valor Retornado
Uma instância PgSql\Result em caso de sucesso, ou false
em caso de falha.
Registro de Alterações
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.
|
Exemplos
Example #1 Exemplo de pg_query()
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Ocorreu um erro.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "Ocorreu um erro.\n";
exit;
}
while ($row = pg_fetch_row($result)) {
echo "Autor: $row[0] E-mail: $row[1]";
echo "<br />\n";
}
?>
Example #2 Usando pg_query() com múltiplas instruções
<?php
$conn = pg_pconnect("dbname=publisher");
// essas instruções serão executadas como uma transação
$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);
?>
Veja Também
- pg_connect() - Abre uma conexão PostgreSQL
- pg_pconnect() - Abre uma conexão PostgreSQL persistente
- pg_fetch_array() - Busca uma linha como um array
- pg_fetch_object() - Busca uma linha como um objeto
- pg_num_rows() - Retorna o número de linhas em um resultado
- pg_affected_rows() - Retorna o número de registros afetados (tuplas)