[PHP-users 21842]Re: PEARを使ったinterbaseでのトランザクション
KOYAMA Tetsuji
koyama @ hoge.org
2004年 5月 25日 (火) 23:23:40 JST
小山です。
At Tue, 25 May 2004 19:30:42 +0900 (LMT),
Etsuo SUMIYA wrote:
> PEARを使ってinterbaseを使っています.
>
> トランザクションを使おうと
>
> $r = $db->query("SET TRANSACTION");
> if(DB::isError($r)) {
> print $r->getDebugInfo();
> exit;
> }
> を実行すると,
>
> SET TRANSACTION [nativecode=invalid transaction handle (expecting
> explicit transaction start) ]
>
> というメッセージが表示されます.
>
> PEAR環境では具体的にはどのようにしたらトランザクションをスタートさせる
> ことができ,どのようにしたらトランザクションを完了させることができるの
> でしょうか?
PEAR::DB には統一的にトランザクションを扱うやり方があります。
$db->autoCommit(false);
または connect() 時の $options に array('autocommit' => false) をセッ
トしても良いです。とにかくこのようにして autocommit を無効にすると、以
降はトランザクション内で query が実行されるようになります。
COMMIT するには
$db->commit();
ROLLBACK するには
$db->rollback();
でよいです。
--
小山 哲志@ビート・クラフト
koyama @ beatcraft.com
koyama @ hoge.org
PHP-users メーリングリストの案内