MYSQL中只有 INNODB和BDB 类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!)

Mysql基本用法-存储引擎-02中的test_user表 和 phpcvs表

<?php
echo "transaction<br>";
$conn = mysql_connect("localhost","root","");
if(!$conn){
die(mysql_error());
}
mysql_select_db("test");
$sql = "update phpcvs set name='fff04' where id=3";
$sql2 = "update phpcvs set name='abcd' where id=2";
$sqlArr = array($sql,$sql2);  //把sql放在数组中
//var_dump($sqlArr);
mysql_query("SET AUTOCOMMIT=0");
mysql_query("begin");  //事务开始
foreach ($sqlArr as $key => $value) {  //遍历sql
# code...
if(!mysql_query($value)){  //执行sql,在没有全部执行的时候。
$status = 0;  //设定一个状态值
}else{
$status = 1;
}
}
//echo $status;
if($status==0){  //$status==0时,没有全部执行sql
echo "rollback<br>";
mysql_query("rollback");  //事务回滚
}else{
mysql_query("commit");
}
?>

  

04-30 10:37