更新表里的数据

ThinkPHP的数据更新操作包括更新数据和更新字段方法。

更新数据使用save方法

数据没变,提交更新,返回false; 数据变,提交更新,返回true; 返回的不是false 而是0 你要用恒等判断 是否提交失败

$user=M('user'); $data['username'] = 'oooooooooooo'; $data['password'] = 'xxxxxxxxxxxx'; $map['id']=4; $user->where($map)->save($data); //默认主键为条件 $data['id']=5; $data['username'] = 'tttttt'; $data['password'] = 'qqqqqq'; $user->save($data); //结合create,id也表单传过来时 $user->create(); $user->save();//返回值0:没修改,1:返回成功

save方法的返回值是影响的记录数,如果返回false则表示更新出错,因此一定要用恒等来判断是否更新失败。如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。

更新字段

如果只是更新个别字段的值,可以使用setField方法。

//修改某一个字段值 $map['id']=1; $user->where($map)->setField('username','heihei'); //统计累加累减 count是一个为int的字段名 $map['id']=1; $user->where($map)->setInc('count',1);//累加 $user->where($map)->setDec('count',1);//累减

因此要使用 save() 方法更新数据,必须指定更新条件或者更新的数据中包含主键字段

本文分享自微信公众号 - Tech爬虫(php_pachong)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励