#1 jake
speedphp框架在第三版中,spModel类加入了affectedRows()成员函数,用于返回前一次执行数据库操作的“影响行数”。
影响行数一般的计算方法:
create操作,通常只插入一条记录,所以影响行数通常是1
update和delete操作,影响行数是所有符合条件的记录数量,比如说delete了三条记录,那么影响行数就是3
find/findAll,查找操作对数据库本身记录没有影响(也就是没有写入或修改,仅读取),所以影响行数是0
由于create、update、delete等操作通常返回的结构布尔值,true是语句执行成功,false是语句执行失败,所以要判断它们对数据表有无“真正”的修改,那么最准确的方式是通过affectedRows()来判断了。
例子:
$conditions = array('id' => 100);
$obj = spClass('lib_guestbook');
$obj->update($conditions, array('name'=>'小明'));
if( 1 >= $obj->affectedRows() ){
echo "修改成功";
}else{
echo "修改失败,可能数据中不存在id为100的记录";
}
2012-08-04 16:28:16