如何判断一个更新操作是否成功:
$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,但却更新成功的。
因为有可能返回的是0,但是更新操作是成功的。所以一定是全不等于,否则!=这样子还是有可能返回错误的结果
可以看看dump($result)就明白了。
上面的例子折腾了半天。后来,用getLastSql函数查看的sql语句。更新记录为0。我的妈啊!后来,查看才知道thinkphp的save返回的时false。0和FALSE的全等(===),而不是相等(==)。