pg_transaction_status
(PHP 5 >= 5.1.0)
pg_transaction_status —
Возвращает текущее состояние транзакции на сервере
Описание
int pg_transaction_status
( resource $connection
)
Предостережение
pg_transaction_status() выдает некорректный результат
при работе с сервером PostgreSQL 7.3, на котором выключена опция
autocommit. Автоматическое завершение транзакций
на стороне сервера устарело и не используется в более поздних версиях.
Список параметров
-
connection
-
Ресурс соединения с базой данных PostgreSQL.
Возвращаемые значения
Список возможных состояний:
PGSQL_TRANSACTION_IDLE (сервер бездействует),
PGSQL_TRANSACTION_ACTIVE (выполняется запрос),
PGSQL_TRANSACTION_INTRANS (сервер бездействует,
работа в режиме транзакции),
или PGSQL_TRANSACTION_INERROR (сервер
бездействует, транзакция потерпела неудачу).
PGSQL_TRANSACTION_UNKNOWN - ошибка подключения.
PGSQL_TRANSACTION_ACTIVE возвращается только
когда запрос уже отправлен на сервер, но еще не обработан.
Примеры
Пример #1 Пример использования pg_transaction_status()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Подключиться не удалось");
$stat = pg_transaction_status($dbconn);
if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
echo 'Соединение не удалось';
} else if ($stat === PGSQL_TRANSACTION_IDLE) {
echo 'Соединение свободно и простаивает';
} else {
echo 'Соединение в режиме транзакции';
}
?>