Столкнулся с такой вот проблемой и немогу разрешить
((
В таблице, которую я обрабатываю командой 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.
Чувствую, что на каком-то этапе получения данных, добавления в массив и пр. происходит, что-то нето... подскажите, в чем фишка...