Forum Webscript.Ru

Общие => Базы данных => Тема начата: Skif от 12 Декабря 2003, 12:39:34

Название: В массиве записей меньше чем в таблице
Отправлено: Skif от 12 Декабря 2003, 12:39:34
Столкнулся с такой вот проблемой и немогу разрешить :(((
В таблице, которую я обрабатываю командой select имеется 5527 необходимых записей. Все значения числовые(integer). Тобишь моя задача посчитать значения в столбце.

Имеем запрос вида:


my ($dbh,$sth,$count);
$dbh = DBI->connect("DBI:mysql:host=localhost;database=squid","skif","secret")
                or die "cann\'t open db table $!";
$sth = $dbh->prepare("SELECT size FROM squid_log_1 where ident=\'skif\'")
                    or die "cann\'t execute select from db table $!";
$sth->execute ();

Написанный на перле. потом я соответственно делаю:

@size = $sth->fetchrow_array;

и вот тут-то и проявляется глюк - размер массива при команде:
print "@size \\n";

Равным 1531. Тоже значение возвращается если я выполняю:

$size = $sth->fetchrow_array;

Что тоже не то. Самое интересное, если я делаю следующее:

while ($size = $sth->fetchrow_array)
{
chomp $size;
$res = $res +$size;
}
 
$res возвращает результат в 16581392, хлтя должен вернуть такое значение: 32693416.
Чувствую, что на каком-то этапе получения данных, добавления в массив и пр. происходит, что-то нето... подскажите, в чем фишка...
Название: В массиве записей меньше чем в таблице
Отправлено: Chs от 13 Декабря 2003, 00:18:03
SELECT count(size) FROM squid_log_1 where ident=\'skif\'

SELECT sum(size) FROM squid_log_1 where ident=\'skif\'