0

我是 zend 框架的新手

我想计算查询中的行数

这是我的代码:

$nm = new Zend_Db_Table('emp');
$row = $nm->fetchRow($nm->select()->where('id= ?', $a));  
4

3 回答 3

0

如果您正在通过主键测试记录的存在,那么您可以使用$nm->find($a)并检查任何结果。

如果您希望结果集很小,那么您可以这样做

$nm->fetchAll($nm->select()->where("id = ?", $a);

如果您希望结果集变大并且您真正追求的只是计数,那么编写一个询问字段计数的查询可能最有意义,以防止查询占用大量服务器内存:

$row = $nm->getAdapter()->fetchRow("select count(*) as num_rows".
       " from ".$nm->info(Zend_Db_Table_Row_Abstract::NAME).
       " where ".$nm->getAdapter()->quoteInto("id = ?", $a));
echo "Users ".$row["num_rows"];
于 2013-05-09T04:04:23.890 回答
0

在 Zend Framework 1 中,您可以count()在查询的最后使用函数来获取表中的总行数。

例如:

$row = $nm->fetchAll($nm->select()->where('id = ?', $a ))->count();

注意:这只会返回表中的总行数。输出为整数。

于 2013-12-05T06:36:26.550 回答
0

是的,您可以尝试以这种方式获取 sql 查询返回的总行数。

$select = $this->select();

$select->where('id= ?', $a);

$result=$this->fetchAll($select);

if(empty($result)){
    return false;
}else{
        echo "Total number of users : -> ".count($result->toArray());
} 

让我知道我是否可以为您提供更多帮助。

于 2013-05-06T05:43:58.023 回答