搜索
系统检测到您的用户名不符合规范:

事务处理出现这个问题是什么原因

浏览:472 发布日期:2018年06月12日 分类:求助交流 关键字: 事务操作 sql语句异常
如下面的一段代码
// 启动事务
$db =Db::connect(session('connect_arr'));
$db ->startTrans();
try {
$ret0 = $db ->table('m_gonggao') ->strict(false) ->update($data);
if ($ret0 > 0) {
$ret1 = $db ->table('m_gonggaomx') ->where('gonggaoid',$data['id']) ->delete();
//dump($db ->getLastSql());die;
if ($ret1>0){
// 提交事务
$db ->commit();
return true;
}else{
// 回滚事务
$db ->rollback();
return false;
}
}else{
// 回滚事务
Db::rollback();
return false;
}
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return false;
}
2个表m_gonggao 中的id 和 m_gonggaomx gonggaoid 是一个关联值,执行第一个数据库操作,OK,执行第二个数据库操作返回的是0,
正常是不应该的,数据库表 m_gonggaomx 中确实有值,为0确实也做了回滚操作。后来打印出执行的sql语句,第二个数据库操作:
DELETE FROM [m_gonggaomx] FROM [m_gonggaomx] WHERE [id] = 67 AND [gonggaoid] = 67
郁闷啊。折腾了好久,不知道什么原因。请各位前辈帮助。求解!!!!!!!
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
zhangyx_001
积分:130 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /