当前位置: 代码迷 >> PHP >> thinkphp 一些细碎知识
  详细解决方案

thinkphp 一些细碎知识

热度:60   发布时间:2016-04-28 16:49:37.0
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