日期:2014-05-17  浏览次数:20419 次

mysqli执行mysql事务的问题

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."<br>/";
$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;

看出问题了么?下面的变量名写错了