我正在perl下工作。我正在实现一个动态查询,并且我遇到了这个问题,如果你在我的搜索过程中可以给我一条建议。perl从selectrow_array获取数据库信息
现在,我的静态查询:
my $envoi_numfact = $dbh->selectrow_array("SELECT envoi_numfact FROM user.envoi where envoi_reference='hapiness'");
print Dumper($envoi_numfact);
我有一个好结果:
$VAR1 = '1611029546';
所以我想在动态查询改造它,如:
my $envoi_numfact = $dbh->selectrow_array("SELECT envoi_numfact FROM user.envoi where envoi_reference=?",undef,$hash_infos{ope_ref} );
其中$hash_infos{ope_ref}
代表envoi_reference
。
其结果是,我有:
$VAR1 = undef;
任何couls帮助我吗?
是什么在'$ {hash_infos} ope_ref'? – melpomene
你的查询是正确的,你的Perl语法是正确的。如果没有结果,那是因为查询不返回任何结果。这可能意味着'$ hash_infos {ope_ref}'变量中的数据不对应于数据库中的一行。 – simbabque
'selectrow_array'返回一个数组,而不是数组引用。所以写'我的@envoi_numfact = ...'或'我的($ envoy_numfact)= ...'。 – PerlDuck