pg_transaction_status

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

pg_transaction_status Retourne le statut de la transaction en cours du serveur

Description

pg_transaction_status(PgSql\Connection $connection): int

Retourne le statut de la transaction en cours du serveur.

Attention

pg_transaction_status() donnera de mauvais résultats lorsque vous l'utiliserez avec un serveur PostgreSQL 7.3 qui a le paramètre autocommit désactivé. La fonctionnalité de autocommit est obsolète et n'existe plus dans les versions de serveur plus récentes.

Liste de paramètres

connection

Une instance PgSql\Connection.

Valeurs de retour

Le statut peut être PGSQL_TRANSACTION_IDLE (actuellement inactif), PGSQL_TRANSACTION_ACTIVE (une commande est en cours), PGSQL_TRANSACTION_INTRANS (inactif, dans un bloc de transaction valide), ou PGSQL_TRANSACTION_INERROR (inactif, dans un bloc de transaction en échec). PGSQL_TRANSACTION_UNKNOWN est retourné si la connexion est mauvaise. PGSQL_TRANSACTION_ACTIVE est retourné seulement si la requête a été envoyée au serveur et que celle-ci n'a pas été encore complétée.

Historique

Version Description
8.1.0 Le paramètre connection attend désormais une instance de PgSql\Connection ; auparavant, une ressource était attendu.

Exemples

Exemple #1 Exemple avec pg_transaction_status()

<?php
$dbconn
= pg_connect("dbname=publisher") or die("Connexion impossible");
$stat = pg_transaction_status($dbconn);
if (
$stat === PGSQL_TRANSACTION_UNKNOWN) {
echo
'Connexion mauvaise';
} else if (
$stat === PGSQL_TRANSACTION_IDLE) {
echo
'Connexion actuellement inactive';
} else {
echo
'Connexion est en cours de transaction';
}
?>

add a note add a note

User Contributed Notes 1 note

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