Forum Webscript.Ru

Программирование => Perl => Тема начата: andrey77 от 25 Октября 2001, 14:12:16

Название: reference to hash (fetchrow_hashref)
Отправлено: andrey77 от 25 Октября 2001, 14:12:16
привет
вопрос:
есть функция которая делает некий селект из базы:


sub somefunc
{
...skip....
my $rc = $sth->execute;              
my %db_data = $sth->fetchrow_hashref;
return %db_data;
}

потом я пытаюсь вывести результат:
my %db_rs = &DBp::db_selectf();  
foreach my $item (keys %db_rs)
{                              
print "$item";                
}
вместо того что мне надо печатается ссылка на хеш
HASH(0x8148ee8)

хелп ми :-)
Название: reference to hash (fetchrow_hashref)
Отправлено: Realtor from Moscow от 26 Октября 2001, 03:06:55
my ($my_data) = $dbh->prepare($zapros);
$my_data->execute();

$my_data_ref = $my_data->fetchall_arrayref();

И потом в цикле выводишь:
my ($tab_xx0, $tab_xx1 .... $tab_xxx) = @{$my_data_ref->[$yy]};

И чего морочиться
Название: проблему решил таки
Отправлено: andrey77 от 26 Октября 2001, 10:36:11
в функцию надо было добавить вот эту строчку

my $db_data = $sth->fetchrow_hashref;
my %the_hash = %$db_data;
return %the_hash;