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 глючил...
Переустановил... Теперь все работает...