@H_301_4@
我正在尝试为fetchall_arrayref中的每个值执行一个foreach循环,并且遇到了一些麻烦.
我有:
my $list = $sth->fetchall_arrayref({}); print Dumper($list);
这给了我:
$VAR1 = [ { 'ID_NUMBER' => '123' },{ 'ID_NUMBER' => '456' },{ 'ID_NUMBER' => '5666' },{ 'ID_NUMBER' => '45645' },{ 'ID_NUMBER' => '23422' } ];
我不知道如何格式化我的foreach循环打印每个id_number的值.最终我想用每个值运行一个查询,但是一旦我开始工作,我就可以想出来.
谢谢你的帮助.
@H_301_4@解决方法
您应该使用
fetchrow_hashref
而不是单独执行每个操作.这将使它更具可读性,并且从数据库的角度来看它不会影响性能.
while (my $res = $sth->fetchrow_hashref) { print Dumper $res; $sth2->execute($res->{ID_NUMBER}); }
如果你想用fetchall_arrayref做它,它会像这样工作:
my $list = $sth->fetchall_arrayref({}); foreach my $res (@{ $list }) { $sth2->execute($res->{ID_NUMBER}); }@H_301_4@ @H_301_4@