php pdo事务模式
注意:beginTransaction
方法,需要数据库引擎的支持
如mysql5.1
开始,默认引擎为InnoDB
才能使用
不支持的数据库,需要手动,关,开,数据库的自动提交功能
try{
/* 开始一个事务,自动关闭自动提交 */
$db->beginTransaction();
// 动作一
$sql = "";
$rows = $db->exec($sql);
if(!$rows)
throw new PDOException("动作一,时发生错误");//那个错误抛出异常
// 动作二
$sql = "";
$OrderArr = $db->query($sql)->fetchAll();
if(!$OrderArr)
throw new PDOException("动作二,时发生错误");//那个错误抛出异常
$db->commit();
}catch (PDOException $e){
error_log($e->getMessage());
$db->rollback();
}
/* 数据库连接现在返回到自动提交模式 */