在不支持事务处理的PHP版本中,可以用如下方法来进行事务处理:
在dbstuff类中添加一个属性和两个方法:
var istrans;//判断是否进行事务处理的。
function inittrans(){//当要开启一个事务时,要先设置此项,说明是要进行事务处理
$this->istrans = 1;
}
function resettrans(){//当完成一个事务时,要重置此项防止在没有进行事务处理的时候,执行语句出错不能进行提示
$this->istrans = 0;
}
在出错处理的方法加入:
function halt($message = '', $sql = '') {
$this->error = 1;
if($this->istrans == 1)
$this->query("ROLLBACK TRANSACTION");//出错则回滚
require 'db_mssql_error.php';
}
示例:
$db->inittrans();
$db->query("BEGIN TRANSACTION");
//SQL语句
$db->query("COMMIT TRANSACTION");
$db->resettrans();
经测试,可以正常使用。
php 下的事务处理
最新推荐文章于 2023-08-11 13:37:39 发布