Zend_Db: Как получить количество строк от таблицы?

Я хочу узнать, сколько строк находится в таблице. База данных, которую я использую, является базой данных MySQL. У меня уже есть класс Db_Table, как который я использую для вызовов fetchAll(). Но мне не нужна никакая информация от таблицы, просто количество строки. Как я могу получить количество всех строк в таблице без вызова fetchAll()?

12
задан Andrew 27 March 2012 в 02:49
поделиться

4 ответа

$count = $db->fetchOne( 'SELECT COUNT(*) AS count FROM yourTable' );
26
ответ дан 2 December 2019 в 03:11
поделиться

Подсчет строк с помощью fetchAll считается вредоносным.

Вот как это сделать с помощью Zend_Db_Select:

$habits_table = new Habits(); /* @var $habits_table Zend_Db_Table_Abstract */
$select = $habits_table->select();
$select->from($habits_table->info(Habits::NAME), 'count(*) as COUNT');
$result = $habits_table->fetchRow($select);
print_r($result['COUNT']);die;
8
ответ дан 2 December 2019 в 03:11
поделиться

Вы можете сделать

SELECT COUNT(*)
FROM your_table 
3
ответ дан 2 December 2019 в 03:11
поделиться
$dbo->setFetchMode( Zend_Db::FETCH_OBJ );
$sql = 'SELECT COUNT(*) AS count FROM @table';
$res = $dbo->fetchAll( $sql );
// $res[0]->count contains the number of rows
3
ответ дан 2 December 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: