« ibase_set_event_handler
ibase_wait_event »

ibase_trans

(PHP 5, PHP 7 < 7.4.0)

ibase_trans — トランザクションを開始する

説明

function ibase_trans(int $trans_args = ?, resource $link_identifier = ?): resource
function ibase_trans(resource $link_identifier = ?): resource

トランザクションを開始します。

注意:

ibase_trans() を最初にコールした際には、接続の デフォルトのトランザクションを返しません。ibase_trans() によって開始されたすべてのトランザクションは、ibase_commit() や ibase_rollback() を使用してコミットあるいは ロールバックを明示的に行わない限り、スクリプトの終了時に自動的に ロールバックされます。

注意:

この関数は複数の trans_args および link_identifier を指定することが可能です。これにより、 複数のデータベース接続にまたがるトランザクションを扱えるようになり、 2 フェーズコミット機能を使用したコミットが可能になります。つまり、複数の データベースの更新内容が成功したか失敗したかによる判断ができるということです。 これは、ひとつのクエリで異なるデータベースのテーブルを同時に使用できるという ことではありません!

複数データベースにまたがるトランザクションを使用する場合、 ibase_query() および ibase_prepare() をコールする際には link_id および transaction_id の両方を指定する必要があります。

パラメータ

trans_args

trans_args は、以下の IBASE_READ、 IBASE_WRITE、 IBASE_COMMITTED、 IBASE_CONSISTENCY、 IBASE_CONCURRENCY、 IBASE_REC_VERSION、 IBASE_REC_NO_VERSION、 IBASE_WAIT および IBASE_NOWAIT の組み合わせとなります。

link_identifier

InterBase リンク ID。省略した場合は、 最後にオープンしたリンクを使用します。

戻り値

トランザクションハンドル、あるいはエラー時に false を返します。

関連キーワード:
ibase   trans   トランザクション   開始   link   args   resource   identifier   複数   データベース   コミット   event   InterBase   接続   ロールバック   handler   wait   Firebird   最初   commit   rollback   明示   スクリプト   自動的   フェーズ
関連する関数・ページ:
function.ibase-commit   function.ibase-commit-ret   function.ibase-rollback   function.ibase-rollback-ret   function.fbird-trans   function.ibase-affected-rows