pg_transaction_status

(PHP 5 >= 5.1.0, PHP 7)

pg_transaction_statusDevuelve el estado actual de la transaccion del servidor

Descripción

int pg_transaction_status ( resource $connection )

Devuelve el estado actual de la transacción del servidor.

Precaución

pg_transaction_status() Dará resultados incorrectos al usar un servidor PostgreSQL 7.3 que tenga el parámetro autocommit establecido en off. La función de autocommit del lado del servidor esta obsoleta y no existe en las versiones posteriores del servidor.

Parámetros

connection

Recurso de conexión a la base de datos PostgreSQL.

Valores devueltos

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

Ejemplos

Ejemplo #1 Ejemplo de pg_transaction_status()

<?php
  $dbconn 
pg_connect("dbname=publisher") or die("Could not connect");
  
$stat pg_transaction_status($dbconn);
  if (
$stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 
'Connection is bad';
  } else if (
$stat === PGSQL_TRANSACTION_IDLE) {
      echo 
'Connection is currently idle';
  } else {
      echo 
'Connection is in a transaction state';
  }    
?>

add a note add a note

User Contributed Notes 1 note

up
0
btherl at yahoo dot com dot au
11 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