DBI::st=HASH()-›_prepare(): параметр атрибута не является хешем - Perl

Я начинаю в Perl, и у меня есть эта проблема:

my $query = qq {select a1, count(b2), c3 from tab where d1 = ? group by a1, c3 };  
my $res = $dbh->selectall_hashref( $query,{ Slice => {} }, $id->[0]); 

When execute the code, I get:

DBI::st=HASH()->_prepare(...): attribute parameter  is not a hash at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/DBD/mysql.pm line 224.

Я делаю что-то не так?

Спасибо за внимание.


person jAbreu    schedule 10.02.2014    source источник


Ответы (2)


пытаться

my $query = "select a1, count(b2), c3 from tab where d1 = ? group by a1, c3";
my $res = $dbh->prepare($query) or die("cannot prepeare");
$res->execute('10');
person Programmer    schedule 10.02.2014
comment
это не $query->prepare($query) это my $res = $dbh->prepare($query) затем с помощью $res->execute() введите значение, которое нужно ввести - person Programmer; 10.02.2014

У меня такое чувство, что вы имеете в виду использование selectall_arrayref. selectall_hashref принимает дополнительный параметр (между SQL и атрибутами), указывающий, какое поле следует использовать в качестве хеш-ключа в возвращаемом хеше.

person ysth    schedule 10.02.2014