PHP.mk документација

pg_transaction_status

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.pg-transaction-status.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.pg-transaction-status.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
pg_transaction_status

Референца за `function.pg-transaction-status.php` со подобрена типографија и навигација.

function.pg-transaction-status.php

pg_transaction_status

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

pg_transaction_statusЈа враќа тековната состојба во трансакција на серверот

= NULL

pg_transaction_status(PgSql\Connection $connection): int

Ја враќа тековната состојба во трансакција на серверот.

Безбедност: стандардниот сет на знаци

pg_transaction_status() ќе даде погрешни резултати кога се користи PostgreSQL 7.3 сервер што го има параметрот autocommit поставен на исклучено. Функцијата за авто-комитирање од страна на серверот е застарена и не постои во подоцнежните верзии на серверот.

Параметри

connection

Еден PgSql\Connection instance.

Вратени вредности

Состојбата може да биде PGSQL_TRANSACTION_IDLE (тековно неактивен), PGSQL_TRANSACTION_ACTIVE (командата е во тек), PGSQL_TRANSACTION_INTRANS (неактивен, во валиден блок на трансакција), или PGSQL_TRANSACTION_INERROR (неактивен, во неуспешен блок на трансакција). PGSQL_TRANSACTION_UNKNOWN се пријавува ако врската е лоша. PGSQL_TRANSACTION_ACTIVE се пријавува само кога барањето е испратено до серверот и сè уште не е завршено.

Дневник на промени

Верзија = NULL
8.1.0 На connection параметарот очекува PgSql\Connection инстанца сега; претходно, а resource се очекуваше.

Примери

Пример #1 pg_transaction_status() example

<?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';
}
?>

Белешки од корисници 2 забелешки

r dot grellmann at agentmulder dot de
пред 4 години
After one of the asynchronous functions (pg_send_query(), pg_send_query_params()...) has been used, pg_transaction_status() will always report PGSQL_TRANSACTION_ACTIVE, no matter if a transaction was started or not.
Even after the first call (or all valid calls) to pg_get_result() the transaction status will stay PGSQL_TRANSACTION_ACTIVE, until either
- a synchronous function like pq_query() was used, or
- another call to pg_get_result() was made, which returns false.
Note: calling pg_free_result() does not change anything.

<?php
  $conn = pg_connect("dbname=publisher") or die("Could not connect");
  $status = pg_transaction_status($conn); // PGSQL_TRANSACTION_IDLE
  pg_send_query($conn, 'SELECT 1');
  $status = pg_transaction_status($conn); // PGSQL_TRANSACTION_ACTIVE
  $res = pg_get_result($conn);
  $status = pg_transaction_status($conn); // PGSQL_TRANSACTION_ACTIVE
  $res = pg_get_result($conn); // false
  $status = pg_transaction_status($conn); // PGSQL_TRANSACTION_IDLE
?>
btherl at yahoo dot com dot au
19 години пред
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.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.