在使用异步函数之一(pg_send_query()、pg_send_query_params()...)后,pg_transaction_status() 将始终报告 PGSQL_TRANSACTION_ACTIVE,无论是否启动了事务。
即使在对 pg_get_result() 的第一个调用(或所有有效调用)之后,事务状态也将保持为 PGSQL_TRANSACTION_ACTIVE,直到:
- 使用了像 pq_query() 这样的同步函数,或者
- 对 pg_get_result() 的另一个调用返回 false。
注意:调用 pg_free_result() 不会改变任何东西。
<?php
$conn = pg_connect("dbname=publisher") or die("Could not connect");
$status = pg_transaction_status($conn); pg_send_query($conn, 'SELECT 1');
$status = pg_transaction_status($conn); $res = pg_get_result($conn);
$status = pg_transaction_status($conn); $res = pg_get_result($conn); $status = pg_transaction_status($conn); ?>