(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 |
El parámetro connection ahora espera una instancia de
PgSql\Connection ; anteriormente, se esperaba un resource.
|
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';
}
?>