thinkphp 一些零碎知识
save 方法更新数据
save方法的更新判断失败用 false === 来判断, 否则执行都是成功的,只是如果为0 表示没有更新任何记录(就是你说的更新值和原来值相同的情况)。
发生错误返回false,未更改记录返回0,更改成功就返回更新成功的行数
$result = $model->save($data); if ( false !== $result ){ $this->success('更新成功!'); }else{ $this->error('更新失败!'); }?
需要用 !== false 来判断更新是否成功,因为save方法返回值是更新操作影响的记录数,有可能影响的记录数为0,但却更新成功的。
? if( $result>0 || $result ===0 ){ //成功 }else{ //失败 }
?
? ? add
? ? 如果写入结果$result数据非法则返回false,如果是自增主键 $result则返回主键值,否则返回1。
? ? 所以只要判断添加返回的值大于0就代表添加成功,否则为添加失败
?
? ?delete
? ?发生错误返回false,否则返回删除成功的个数,0代表没有删除成功一个
所以判断条件只要delete !==false就代表删除成功 ?或者判断删除成功的条数大于0
?
? ?select find
? ?发生错误为false,没有结果就返回null,有结果就是数组(select) ?find() 返回的是一个一维数组
? find 返回 array(id=>1,name=>小飞);
? select 返回 array(0 =>array(id=>1,name=>小飞))
? 没有数据都返回null,查询错误都返回false
