Thinkphp getLastSql函数用法

如何判断一个更新操作是否成功:

$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的全等(===),而不是相等(==)。

posted @ 2014-02-27 21:22  Martin2  阅读(2659)  评论(1编辑  收藏  举报