【发布时间】:2013-03-21 07:14:15
【问题描述】:
我需要执行一个 select 语句查询并捕获返回的结果并将其存储在一个变量中。
执行没有返回任何数据。我检查了我的连接是否正确,因为它没有返回任何错误。
$dbh = DBI->connect($data_source, $username, $password) 或者死掉 $DBI::errstr;
以下是我的查询
my $sth = $dbh->prepare('select abc from pqr');
$sth->execute();
现在我正在检查它是否有一些数据
if($sth->rows) {
print "We have data!\n";
} else {
print"No Data";
}
它总是打印No Data。
为了获取我正在使用的数据
while(my @data = $sth->fetchrow_array()) {
print "$data[1]\n";
}
$dbh->disconnect;
我没有得到任何数据。 谁能建议我这里有什么问题? 使用 Java 时,相同的查询给了我想要的结果。
【问题讨论】:
-
我会检查
execute的返回值。$sth->execute() or die "check dbi error msg" -
@chrsblck 我已经添加了 die 语句,但我没有收到消息“检查 dbi 错误消息”,这意味着查询已成功执行。那么为什么我没有得到想要的结果。我得到的是空数组。