欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

有熟悉事务或PDO的吗?老是回滚,删除不掉数据解决方法

程序员文章站 2024-02-15 11:52:17
...
有熟悉事务或PDO的吗?老是回滚,删除不掉数据
数据库类型:sqlite
没有提示错误,一行一行测试,的确没有错误,为什么老是回滚? 老是回滚,删除不掉数据
大家推测原因是什么?
以下是说明性代码:

PHP code
  $king->db->connect(); //连接数据库 $link为数据库连接句柄。  $king->db->link->beginTransaction();//回滚起始点  if($rs1=$king->db->getRows_number('%s_newsContent',"newsID in($newsID)"))  {   if($rs2=$king->db->query("delete from %s_newsContent where newsID in($newsID)"))   {    $s.="删除新闻内容成功![".$rs2."/".$rs1."条]
"; } else { lzj_message('删除新闻内容失败','javascript:history.go(-1)'); } } if($rs1=$king->db->getRows_number('%s_rss',"idValue in($newsID) and tableName='news' and idName='newsID'")) { if($rs2=$king->db->query("delete from %s_rss where tableName='news' and idName='newsID' and idValue in($newsID)")) { $s.="删除新闻RSS成功![".$rs2."/".$rs1."条]
"; } else { lzj_message('删除新闻RSS失败','javascript:history.go(-1)'); } } if($rs=$king->db->query("delete from %s_news where newsID in(".$newsID.")")) { lzj_message("删除成功![".$rs."条]
".$s,$pageUrl); } else { lzj_message('删除新闻失败','javascript:history.go(-1)'); } $king->db->link->commit();//回滚结束点


------解决方案--------------------
感觉你这种写法有问题.
你可以事物开始时,设立一个标识如flag=true;

if( $flag ){
你的操作........
} else{
..............
$flag = false;
}
同上面一样继续下一个操作


最后
if( $flag ){
提交事物
}else{

回滚
}
有熟悉事务或PDO的吗?老是回滚,删除不掉数据解决方法

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频