我有这样的Perl代码:
$pre = $dbh->prepare("select distinct skills from people");
$pre->execute;
my @preList;
while (my $row = $pre->fetchrow_array()) {
push (@preList,$row);
}
print "Pre list: $_" foreach @preList;
Run Code Online (Sandbox Code Playgroud)
当我在sql中尝试完全相同的语句时,它可以很好地工作,但是当我运行这个程序时,它什么都没打印出来(暗示是空的@preList).我可能正在做一些非常愚蠢的事情,但看不到它.我之前使用过这种格式来获取数据,效果很好.谁能看到我做错了什么?
现在你正在做,fetchrow_array它返回一个列表,但你试图将它存储在一个标量中,你可以将其更改为fetchrow_arrayref或更改$row为@row,或更改my $row为my ($row).