为了账号安全,请及时绑定邮箱和手机立即绑定

update更新数据,where条件不存在时,为什么不报错?

$update['age']=25;

$where['username']='小明';

$data = M('user')->where($where)->save($update);

dump($data);


以上操作, 这个'小明'是不存在的, 是我不小心写错的, 结果它也执行了, 把age字段下所有的值都更新成了25,哇!~ 这太可怕了 , 我记得原生态sql语句,where条件错误时应该会报错的吧!

正在回答

1 回答

你可以再echo M('user')->getLastSql();看下执行的sql语句

是不是username是不存在的?

0 回复 有任何疑惑可以回复我~
#1

无极山鬼谣 提问者

是 , 是字段名不存在, 不是'小明'不存在 , 如果字段名写错, 系统会当做where为空?
2015-01-16 回复 有任何疑惑可以回复我~
#2

无极山鬼谣 提问者

非常感谢!
2015-01-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
快速入门ThinkPHP框架—理论篇
  • 参与学习       89139    人
  • 解答问题       562    个

快速入门ThinkPHP框架教程,掌握ThinkPHP的理论基础

进入课程

update更新数据,where条件不存在时,为什么不报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信