Forum Webscript.Ru
		Программирование => Perl => Тема начата: Error202 от 17 Февраля 2005, 17:52:21
		
			
			- 
				$sth = $dbh->prepare(qq{ SELECT id FROM fc_users});
 $sth->execute();
 $sth->finish();
 
 $sth = $dbh->prepare(qq{select found_rows()});
 $sth->execute();
 my $uscount=$sth->fetchrow_array();
 $sth->finish();
 
 Почему $uscount не содержит количества строк таблица fc_users?
- 
				count?
			
- 
				В переменную $uscoun теоретически должно присваиваться количество строк...
 Но этого не происходит...
- 
				нет, вы не поняли, запрос вида
 SELECT COUNT (my_stolbets) from my_table
 
 COUNT подсчитывает количество елементов в группе не равных NULL
- 
				Тоже не работает... Странно...
 Первый вариант отлично работает в другом, аналогичном скрипте...
- 
				Все, родил... СПАСИБО ОГРОМНОЕ!!!!
			
- 
				Error202:
 Первый вариант отлично работает в другом, аналогичном скрипте...
 
 
 "Читайте доки, они рулез"(с)
 
 FOUND_ROWS()
 Возвращает количество строк, которые возвратила бы последняя команда SELECT SQL_CALC_FOUND_ROWS ... при отсутствии ограничения оператором LIMIT.
 mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10;
 mysql> SELECT FOUND_ROWS();
 
 Второй вызов команды SELECT возвратит количество строк, которые возвратила бы первая команда SELECT, если бы она была написана без выражения LIMIT. Отметим, что, хотя при использовании команды SELECT SQL_CALC_FOUND_ROWS ..., MySQL должен пересчитать все строки в наборе результатов, этот способ все равно быстрее, чем без LIMIT, так как не требуется посылать результат клиенту.
 
 (с) http://www.mysql.ru
- 
				СПАСИБО!!! Разобрался...
 Это у меня MySQL глючил...
 Переустановил... Теперь все работает...