php[world] in Washington, D.C.

pg_transaction_status

(PHP 5 >= 5.1.0)

pg_transaction_statusGibt den aktuellen Transaktionsstatus des Servers zurück

Beschreibung

int pg_transaction_status ( resource $connection )

Gibt den aktuellen Transaktionsstatus des Servers zurück.

Achtung

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.

Parameter-Liste

connection

PostgreSQL-Verbindungskennung.

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.

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

add a note add a note

User Contributed Notes 1 note

up
0
btherl at yahoo dot com dot au
8 years ago
This function is implemented in C, so there's no way to mimic it in SQL for older versions of PHP.  But you can mimic some of the functionality by using a wrapper which keeps track of when you begin and commit/rollback transactions.
To Top