在我们操作数据库更新时,经常会遇到要判断一个更新是否已经成功,
这样判断,出现一个奇怪的问题,即如果数据没有更新(与原数据相同),返回值判断为false。
$result = $Model->where('id=1')->save($data); if($result) { echo 'success'; }else{ echo 'false'; }
而当我们需要在ThinkPHP如何判断一个更新操作是否成功时,可以用下面的方法:
$Model = D('Blog'); $data['id'] = 10; $data['name'] = 'update name'; $result = $Model->save($data); if ( false !== $result ){ $this->success('更新成功!'); }else{ $this->error('更新失败!'); }
需要用 !== false 来判断更新是否成功,
因为save方法返回值是更新操作影响的记录数,有可能影响的记录数为0,但却更新成功的。
或者这种方式也可以
if( $result > 0 || $result ===0 ){ //成功 }else{ //失败 }
原创文章,转载请注明: 转载自HSBLOG
本文链接地址: ThinkPHP3.2–save方法判断问题
[good]
力哥 [威武]
小伙子可以啊