Возвращает текущее состояние транзакции на сервере

# pg_transaction_status

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

pg_transaction_status — Возвращает текущее состояние транзакции на сервере

### Описание

function pg_transaction_status(PgSql\Connection `$connection`): int

Возвращает текущее состояние транзакции на сервере.

Предостережение

pg_transaction_status() выдаёт некорректный результат при работе с сервером PostgreSQL 7.3, на котором выключена опция `autocommit`. Автоматическое завершение транзакций на стороне сервера устарело и не используется в более поздних версиях.

### Список параметров

`connection`
  Экземпляр класса PgSql\Connection.

### Возвращаемые значения

Список возможных состояний: `PGSQL_TRANSACTION_IDLE` (сервер бездействует), `PGSQL_TRANSACTION_ACTIVE` (выполняется запрос), `PGSQL_TRANSACTION_INTRANS` (сервер бездействует, работа в режиме транзакции), или `PGSQL_TRANSACTION_INERROR` (сервер бездействует, транзакция потерпела неудачу). `PGSQL_TRANSACTION_UNKNOWN` - ошибка подключения. `PGSQL_TRANSACTION_ACTIVE` возвращается только когда запрос уже отправлен на сервер, но ещё не обработан.

### Список изменений

Версия | Описание
--- | ---
8.1.0 | Параметр `connection` теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.

### Примеры

Пример #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 'Соединение в режиме транзакции';
      }
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open