perl dbi sqlite 有问题。

我已经建立了一个数据库(并用 sqlite 命令行检查了它)。
现在我想在这个数据库中搜索,但没有用。

所以我试着做一个'SELECT *'
这仅打印 数据库中的第一个元素 ,而不是该表中的所有内容。

我认为导致 select * 失败的错误与阻止我使用“like %..%”的东西是一样的。

这是相关代码,如果代码正确并且数据库表看起来不错,还有什么可能导致问题?

 my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile","","") || die "Cannot connect: $DBI::errstr";

my $sth = $dbh->prepare('SELECT * FROM words');
$sth->execute;
my @result = $sth->fetchrow_array();


foreach( @result) {
    print $_;
}

最佳答案

fetchrow_array () 只取一行。

尝试

while ( my @row = $sth->fetchrow_array ) {
  print "@row\n";
}

关于Perl dbi sqlite 'select * ..' 只返回第一个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13554826/

10-14 00:20