pg_transaction_status

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_transaction_status Retorna el estado de la transacción en curso del servidor

Descripción

pg_transaction_status(PgSql\Connection $connection): int

Retorna el estado de la transacción en curso del servidor.

Precaución

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.

Parámetros

connection

An PgSql\Connection instance.

Valores devueltos

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.

Historial de cambios

Versión Descripción
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a recurso was expected.

Ejemplos

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';
}
?>