Я хочу узнать, сколько строк находится в таблице. База данных, которую я использую, является базой данных MySQL. У меня уже есть класс Db_Table, как который я использую для вызовов fetchAll()
. Но мне не нужна никакая информация от таблицы, просто количество строки. Как я могу получить количество всех строк в таблице без вызова fetchAll()
?
$count = $db->fetchOne( 'SELECT COUNT(*) AS count FROM yourTable' );
Подсчет строк с помощью 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;
$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