数据库查询中没有找到记录时

#1 redguan

有这样一个例子:

 
$datas = $db->spPager($p, 10)->findAll($conditions, $sort, $fields);
dump($datas);


如果数据库没有记录。

那么不管是 print_r 还是DUMP 都是显示空。
但是 count($datas) 却有一条记录。

这个就给判断产生麻烦!
麻烦一:不能通过常规方法 count($datas) 判断是否找到记录。

麻烦二:SMARTY模版中的循环语句 foreach 中的 foreachelse 不能用了。(因为有一条空记录)

2010-04-10 08:58:40

#2 jake

findAll返回的是false,所以要判断的话:

1. 不需要用count来判断有没有记录,直接 if( $result )或者if( false != $result )就能判断

2. smarty中的foreachelse是针对该变量完全没有赋值的情况的,所以在foreach里面要判断循环的话,只能一开始就{if $result}{else}{/if}用IF来判断了。

2010-04-10 09:25:55

#3 rayroad

原来如此 受教 受教

2010-05-14 09:00:47