Perl mysql,为什么这个 fetchrow_array 不起作用? [英] Perl mysql, why does this fetchrow_array not work?
问题描述
我有这样的 Perl 代码:
I have Perl code like so:
$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;
当我在 sql 中尝试完全相同的语句时,它工作得很好,但是当我运行这个程序时,它什么也不打印(建议一个空的 @preList
).我可能正在做一些非常愚蠢的事情,但看不到它.我以前用这种格式来获取数据,效果很好.谁能看到我做错了什么?
When I try the exact same statement in sql it works perfectly, but when I run this program it prints out nothing (suggesting an empty @preList
). I am probably doing something very stupid, but cannot see it. I have used this format for getting data before, which works perfectly. Can anyone see what I've done wrong?
推荐答案
现在你正在做,fetchrow_array
返回一个列表,但你试图将它存储在一个标量中,你可以改变将其改为 fetchrow_arrayref
或将 $row
改为 @row
,或将 my $row
改为 my ($row)
.
Right now you are doing, fetchrow_array
which returns a list but you are trying to store it in a scalar, you can either change it to fetchrow_arrayref
or change $row
to @row
, or change my $row
to my ($row)
.
这篇关于Perl mysql,为什么这个 fetchrow_array 不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!