pg_transaction_status

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

pg_transaction_status — 서버의 현재 트랜잭션 상태를 반환합니다.


설명

pg_transaction_status(PgSql\Connection $connection): int

서버의 현재 트랜잭션 상태를 반환합니다.

주의 autocommit 매개변수가 off로 설정된 PostgreSQL 7.3 서버를 사용할 때 pg_transaction_status()는 잘못된 결과를 제공합니다. 서버 측 자동 커밋 기능은 더 이상 사용되지 않으며 이후 서버 버전에는 존재하지 않습니다.


매개변수

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가 필요했습니다.

Examples

예제 #1 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';
  }
?>