(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_transaction_status — Retorna el estado de la transacción en curso del servidor
Retorna el estado de la transacción en curso del servidor.
pg_transaction_status() proporcionará resultados incorrectos
cuando se utilice con un servidor PostgreSQL 7.3 que tenga
el parámetro autocommit
desactivado. La funcionalidad de
autocommit está obsoleta y ya no existe en las versiones más recientes del servidor.
El estado puede ser PGSQL_TRANSACTION_IDLE
(actualmente inactivo),
PGSQL_TRANSACTION_ACTIVE
(una orden está en curso),
PGSQL_TRANSACTION_INTRANS
(inactivo, dentro de un bloque de transacción válido),
o PGSQL_TRANSACTION_INERROR
(inactivo, dentro de un bloque de transacción fallido).
PGSQL_TRANSACTION_UNKNOWN
se retorna si la conexión es incorrecta.
PGSQL_TRANSACTION_ACTIVE
se retorna solo si la
consulta ha sido enviada al servidor y esta aún no ha sido completada.
Versión | Descripción |
---|---|
8.1.0 |
The connection parameter expects an PgSql\Connection
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con pg_transaction_status()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Conexión imposible");
$stat = pg_transaction_status($dbconn);
if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
echo 'Conexión incorrecta';
} else if ($stat === PGSQL_TRANSACTION_IDLE) {
echo 'Conexión actualmente inactiva';
} else {
echo 'Conexión está en curso de transacción';
}
?>