php+mysql 事务处理回滚失败

liulanger160 2010-06-22 11:44:35
php+mysql 事务处理回滚失败 ,请帮我看看这是为什么呢
php版本:5.2.6
mysql版本: 5.0.51
代码如下:

<?php
$host='localhost';
$user_name='root';
$password='vertrigo';

$conn=mysql_connect($host,$user_name,$password);
if(!conn)
{
die('数据库连接失败:'.mysql_error());
}
mysql_select_db('vtiger');
mysql_query("SET AUTOCOMMIT=0");
//1.用一条SQL语句更新vtiger_crmentity_seq里的ID,即在当前值加1
$sql1="update vtiger_crmentity_seq set id=id+1";
$result1=mysql_query($sql1);

//查出当前id
$sqlselect="select id1 from vtiger_crmentity_seq";
$result=mysql_query($sqlselect);
$row=mysql_fetch_array($result);
$crmentityid=$row['id'];

if ($result1 && $result) {
mysql_query("COMMIT");
echo '提交';
echo $crmentityid;
} else {
mysql_query("ROLLBACK"); //有任何错误发生,回滚并取消执行结果
echo '回滚';
}
mysql_close($conn);
?>
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlnuboy 2010-06-22
  • 打赏
  • 举报
回复
楼主代码写错了吧,mysql_query(); 有两个参数, 第一个是sql语句,第二个是连接
Dleno 2010-06-22
  • 打赏
  • 举报
回复
最好自己写对应的语句或存储过程来回滚数据。
PIGer920 2010-06-22
  • 打赏
  • 举报
回复
mysql默认是ENGINE=MyISAM 不可以回滚
你可以动态的改变ENGINE 变成InnoDB。
关于两者区别可参考网上资料 很详细

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧