(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_transaction_status — Retourne le statut de la transaction en cours du serveur
Retourne le statut de la transaction en cours du serveur.
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.
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.
Version | Description |
---|---|
8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une ressource était attendu.
|
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';
}
?>