我的 Perl 脚本应该打印我的查询结果。但是,目前我收到错误:
在 updateDB.pl 第 32 行无法通过包“SELECT * FROM SERVER”定位对象方法“fetchrow_array”(也许您忘记加载“SELECT * FROM SERVER”?)
我想这个问题很容易解决。但是我的 perl/MySQL 技能还有很多不足之处。我的脚本如下:
#!/usr/bin/perl
use DBI;
use DBD::mysql;
use strict;
use warnings;
MySQL("SELECT * FROM SERVER");
# define subroutine to submit MySQL command
sub MySQL
{
# establish connection with 'serverDNA' database
my $connection = DBI->connect("DBI:mysql:database=serverDNA;host=localhost");
my $query = $_[0]; #assign argument to string
my $statement = $connection->prepare($query); #prepare query
$statement->execute(); #execute query
#loop to print MySQL results
while (my @row = $query->fetchrow_array)
{
print "@row\n";
}
}
非常感谢!
最佳答案
您正在对查询字符串调用 fetchrow_array
;你想在声明中调用它。
while (my @row = $statement->fetchrow_array)
{
print "@row\n";
}
关于mysql - 从 Perl 脚本显示 MySQL 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23679935/