ibase_trans
(PHP 5, PHP 7 < 7.4.0)
ibase_trans — トランザクションを開始する
説明
ibase_trans
([ int $trans_args
[, resource $link_identifier
]] ) : resource
ibase_trans
([ resource $link_identifier
[, int $trans_args
]] ) : 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
を返します。