我是 zend 框架的新手
我想计算查询中的行数
这是我的代码:
$nm = new Zend_Db_Table('emp');
$row = $nm->fetchRow($nm->select()->where('id= ?', $a));
我是 zend 框架的新手
我想计算查询中的行数
这是我的代码:
$nm = new Zend_Db_Table('emp');
$row = $nm->fetchRow($nm->select()->where('id= ?', $a));
如果您正在通过主键测试记录的存在,那么您可以使用$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"];
在 Zend Framework 1 中,您可以count()
在查询的最后使用函数来获取表中的总行数。
例如:
$row = $nm->fetchAll($nm->select()->where('id = ?', $a ))->count();
注意:这只会返回表中的总行数。输出为整数。
是的,您可以尝试以这种方式获取 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());
}
让我知道我是否可以为您提供更多帮助。