(PHP 5 >= 5.1.0, PHP 7)
pg_transaction_status — Gibt den aktuellen Transaktionsstatus des Servers zurück
$connection
)Gibt den aktuellen Transaktionsstatus des Servers zurück.
Die Funktion pg_transaction_status() gibt ungültige Ergebnisse zurück, wenn sie für einen PostgreSQL-Server der Version 7.3 aufgerufen wird, bei dem der Parameter autocommit auf off gesetzt ist. Die serverseitige Eigenschaft autocommit ist veraltet und existiert in den neueren PostgreSQL-Versionen nicht mehr.
connection
PostgreSQL-Verbindungskennung.
Mögliche Stati sind:
PGSQL_TRANSACTION_IDLE
(zur Zeit untätig),
PGSQL_TRANSACTION_ACTIVE
(ein Kommando wird abgearbeitet),
PGSQL_TRANSACTION_INTRANS
(untätig, aber innerhalb eines gültigen Transaktionsblocks) oder
PGSQL_TRANSACTION_INERROR
(untätig, innerhalb einer fehlgeschlagenen Transaktion).
PGSQL_TRANSACTION_UNKNOWN
wird zurückgegeben, falls eine Transaktion ungültig ist.
PGSQL_TRANSACTION_ACTIVE
wird nur dann
zurückgegeben, wenn eine Abfrage zum Server gesendet wurde und noch
nicht fertig abgearbeitet ist.
Beispiel #1 pg_transaction_status()-Beispiel
<?php
$dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");
$stat = pg_transaction_status($dbconn);
if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
echo 'Verbindung ist ungültig';
} else if ($stat === PGSQL_TRANSACTION_IDLE) {
echo 'Verbindung ist zur Zeit untätig';
} else {
echo 'Verbindung meldet eine Transaktion';
}
?>