在使用其中一個非同步函式 (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("無法連線");
$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); ?>