Forum Webscript.Ru

Программирование => Perl => Тема начата: Error202 от 17 Февраля 2005, 17:52:21

Название: MySQL - количество рядов...
Отправлено: 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?
Название: MySQL - количество рядов...
Отправлено: Skif от 17 Февраля 2005, 19:27:10
count?
Название: MySQL - количество рядов...
Отправлено: Error202 от 17 Февраля 2005, 20:27:54
В переменную $uscoun теоретически должно присваиваться количество строк...
Но этого не происходит...
Название: MySQL - количество рядов...
Отправлено: Skif от 17 Февраля 2005, 21:04:39
нет, вы не поняли, запрос вида
SELECT COUNT (my_stolbets) from my_table

COUNT подсчитывает количество елементов в группе не равных NULL
Название: MySQL - количество рядов...
Отправлено: Error202 от 17 Февраля 2005, 21:19:42
Тоже не работает... Странно...
Первый вариант отлично работает в другом, аналогичном скрипте...
Название: MySQL - количество рядов...
Отправлено: Error202 от 17 Февраля 2005, 21:27:45
Все, родил... СПАСИБО ОГРОМНОЕ!!!!
Название: MySQL - количество рядов...
Отправлено: Forza от 18 Февраля 2005, 00:12:26
Цитировать
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 - количество рядов...
Отправлено: Error202 от 19 Февраля 2005, 11:37:17
СПАСИБО!!! Разобрался...
Это у меня MySQL глючил...
Переустановил... Теперь все работает...