在我们操作数据库更新时,经常会遇到要判断一个更新是否已经成功,
这样判断,出现一个奇怪的问题,即如果数据没有更新(与原数据相同),返回值判断为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]
力哥 [威武]
小伙子可以啊