我有这个错误:
Use of uninitialized value in concatenation (.) or string at...
$queryH= $dbh->prepare($query);
$queryH->execute();
my $i=0;
my $result;
while (@data = $queryH->fetchrow_array())
{
$result=$data[$i];
if ($result)
{
print "$result \n";
}
else
{
print "Records Not Found!\n";
last;
}
print "\n";
$i++;
}
print "\n\n";
$queryH->finish();
$dbh->disconnect();
我的代码中有什么错误?
错误在线:
$result=$data[$i];
答案 0 :(得分:1)
您开始使用$i=0
,并在while
循环的每次传递中递增它。对于每行数据库结果,请查看$data[$i]
一次。因此,对于第一行,请查看$data[0]
。对于第二行数据,您可以查看$data[1]
,依此类推。在某些时候,您的$i
(实际上是从零开始的行数)将高于每行的字段数。这会产生错误信息。
如果您在print "$i\n"
区块的开头放入while
,您将会看到我在说什么。