我想知道如何使用num_rows ZEND 1.12
实现查询 $db = Zend_Db_Table::getDefaultAdapter();
$db->setFetchMode(Zend_Db::FETCH_ASSOC);
$select = new Zend_Db_Select($db);
$select = $db->select()
->from('album', array('id', 'nombre'));
$result = $select->query();
$rows = $result->fetch();
此代码返回不完整的数据。我不知道这是不是很好。
答案 0 :(得分:0)
试试这个:
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$dbAdapter->setFetchMode(Zend_Db::FETCH_ASSOC);
/** @var Zend_Db_Select $select */
$select = $dbAdapter->select();
$select->from(
'album',
array(
'id',
'nombre'
)
);
//get the rowset
/** @var Zend_Db_Table_Rowset $rows */
$rows = $dbAdapter->fetchAll($select);
//get the number of rows returned from the rows object
$num_rows = $rows->count(); //OR count($rows)
但请注意,如果在查询中使用限制,则不会获得db表中的总行数。
//$select->limit(100); //will return 100 or less
如果您只想获取db表中的行数,请使用:
//get only a single columns value! (there has to be only one column in the select)
$select = $dbAdapter->select();
$select->from(
'album',
array(
'COUNT(*) AS num_rows'
)
);
//$select->where("nombre LIKE CONCAT('?','%')",array($search));
//$select->where("status > 0");
$num_rows = $dbAdapter->fetchCol($select);