public static function exec_sql_tran($arr_sql){
$result=true;
$con = new mysqli(dbhost,db_user,db_passwd,db_name);
$con->autocommit(false);
foreach($arr_sql as $key=>$sql){
if (!$con->query($sql)) {
echo $con->error.
/;
$resulf=false;
$con->rollback();
break;
}
}
print_r($result);
if($result){
$con->commit();
}
else{
$con->rollback();
}
$con->close();
}
$arr_sql是一个存储数据库代码的数组
我测试的时候写了两个insert的句子,第一个句子正确,第二个句子错误,当时执行下来总是发现第一个句子执行成功。
好像事务没用一样,php新手,求教了
事务 分享到:
------解决方案--------------------
mysql中只有innodb和bdb类型的数据表才能支持事务处理
------解决方案--------------------
$result=true;
$resulf=false;
看出问题了么?下面的变量名写错了
