- 论坛徽章:
- 0
|
假设我用Perar:DB来链接MySQL服务器
$linkA = DB:connect("......");
$linkB = DB:connect("......");
//$linkA,$linkB链接的是同一MySQL服务器的同一库
//用$linkA操作表tableA,$linkB操作表tableB,当且仅当两者都操作成功时才提交,否则回滚
//这时我的问题出来了,各位请看下面的写法是否正确呢?
$linkA->autoCommit(false);
$flagA = $linkA->query("update tableA set id='1'");
if(false !== $flagA)
{
$linkB->autoCommit(false);
$flagB1 = $linkB->query("update tableB set id='2'");
if(false !== $flagB1)
{
$flagB2 = $linkB->query("delete from tableB where id='3'");
if(false !== $flagB2)
{
$linkA->commit();
$linkB->commit();
}
else
{
$linkA->rollback();
$linkB->rollback();
}
}
else
{
$linkA->rollback();
}
}
$linkA和$linkB是否都需要明确指出使用事务处理呢?
还是只要$linkA指明就可以了?
[ 本帖最后由 riverking23 于 2006-10-31 09:49 编辑 ] |
|