Thinkphp 在数据库更新(save)的时候,如果字段没有被修改会更新失败,这是为什么?的解决办法

--begin itlife365  jiandanjie 
Thinkphp 在数据库更新(save)的时候,如果字段没有被修改会更新失败,这是为什么?的解决办法
版本3.1.3 

看了源代码:
无更新返回的是-1啊?false是更新失败,正数是更新的条数
如果查询错误或者数据非法返回false
如果更新成功返回影响的记录数

解决办法:
save方法的返回值是影响的记录数,如果返回false则表示更新出错。
如果字段没有被修改,则返回0,并不是失败。
所以判断是否失败使用if($result !== false) 即 不恒等于 
比如:

 $vo = $database_supplier->data($data_supplier)->save();
if($vo ){
$this->success('修改成功', U('Supplier/index'));
}else{
$this->error('修改失败!');
}
改为
 $vo = $database_supplier->data($data_supplier)->save();
if($vo !== false){
$this->success('修改成功', U('Supplier/index'));
}else{
$this->error('修改失败!');
}
--end itlife365  jiandanjie 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年2月    »
12
3456789
10111213141516
17181920212223
2425262728
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2