pg_transaction_status
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_transaction_status — Retorna o status atual da transação do servidor
Descrição
Retorna o status atual da transação do servidor.
pg_transaction_status() fornecerá resultados incorretos ao usar
um servidor PostgreSQL 7.3 que tenha o parâmetro autocommit
desativado. O recurso de confirmação automática do lado do servidor foi
descontinuado e não existe em versões de servidor posteriores.
Valor Retornado
O status pode ser PGSQL_TRANSACTION_IDLE
(atualmente inativo),
PGSQL_TRANSACTION_ACTIVE
(um comando está em andamento),
PGSQL_TRANSACTION_INTRANS
(inativo, em um bloco de transação válido),
ou PGSQL_TRANSACTION_INERROR
(ocioso, em um bloco de transação com falha).
PGSQL_TRANSACTION_UNKNOWN
é relatado se a conexão estiver ruim.
PGSQL_TRANSACTION_ACTIVE
é relatado somente quando uma consulta
foi enviada ao servidor e ainda não foi concluída.
Registro de Alterações
Versão | Descrição |
---|---|
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_transaction_status()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Não foi possível conectar");
$stat = pg_transaction_status($dbconn);
if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
echo 'A conexão está ruim';
} else if ($stat === PGSQL_TRANSACTION_IDLE) {
echo 'A conexão está inativa no momento';
} else {
echo 'A conexão está em estado de transação';
}
?>