函式名稱:fbird_trans()
適用版本:Firebird/InterBase 6.0及以上版本
函式說明:fbird_trans()函式用於開始或結束一個Firebird/InterBase事務。
用法:
開始事務: bool fbird_trans(resource $link_identifier [, int $trans_args = 0 ])
引數:
- $link_identifier:連線識別符號,由fbird_connect()返回的資源型別。
- $trans_args(可選):事務引數,可選引數,預設為0,表示啟用自動提交。
返回值:
- 成功時返回true,表示事務已成功開始。
- 失敗時返回false,表示事務開始失敗。
示例:
$conn = fbird_connect('localhost:/path/to/database.gdb', 'username', 'password'); if ($conn) { if (fbird_trans($conn)) { echo "事務已開始"; } else { echo "無法開始事務"; } } else { echo "無法連線到資料庫"; }
結束事務: bool fbird_trans(resource $link_identifier [, int $trans_args = 0 ])
引數:
- $link_identifier:連線識別符號,由fbird_connect()返回的資源型別。
- $trans_args(可選):事務引數,可選引數,預設為0,表示提交事務。
返回值:
- 成功時返回true,表示事務已成功結束。
- 失敗時返回false,表示事務結束失敗。
示例:
$conn = fbird_connect('localhost:/path/to/database.gdb', 'username', 'password'); if ($conn) { if (fbird_trans($conn)) { // 執行資料庫操作 if (fbird_commit($conn)) { echo "事務已提交"; } else { echo "無法提交事務"; } } else { echo "無法開始事務"; } } else { echo "無法連線到資料庫"; }
注意事項:
- 在Firebird/InterBase中,事務可以巢狀,但是提交或回滾操作將影響所有巢狀的事務。
- 當事務引數$trans_args設定為非零值時,表示禁用自動提交,需要手動呼叫fbird_commit()或fbird_rollback()來結束事務。
- 若事務未手動結束,指令碼結束時將自動回滾事務。