查詢

fbird_trans()函式—用法及示例

「 開始或結束一個Firebird/InterBase事務 」


函式名稱:fbird_trans()

適用版本:Firebird/InterBase 6.0及以上版本

函式說明:fbird_trans()函式用於開始或結束一個Firebird/InterBase事務。

用法:

  1. 開始事務: 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 "無法連線到資料庫";
    }
    
  2. 結束事務: 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()來結束事務。
  • 若事務未手動結束,指令碼結束時將自動回滾事務。
補充糾錯
上一個函式: fbird_set_event_handler()函式
下一個函式: fbird_wait_event()函式
熱門PHP函式
分享連結