pg_transaction_status
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_transaction_status — Gibt den aktuellen Transaktionsstatus des Servers zurück
Beschreibung
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.
Rückgabewerte
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.
Changelog
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine Ressource erwartet.
|
Beispiele
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';
}
?>