显示来自Perl脚本的MySQL查询结果

显示来自Perl脚本的MySQL查询结果,mysql,sql,perl,Mysql,Sql,Perl,我的Perl脚本应该打印查询结果。然而,目前我得到了一个错误: 无法通过包SELECT*从服务器找到对象方法fetchrow\U数组可能您忘记从服务器加载SELECT*?在updateDB.pl第32行 我想这个问题很容易解决。。但是我的perl/MySQL技能还有很多需要提高的地方。我的脚本如下: !/usr/bin/perl 使用DBI; 使用DBD::mysql; 严格使用; 使用警告; MySQLSELECT*来自服务器; 定义提交MySQL命令的子例程 子MySQL { 建立与“ser

我的Perl脚本应该打印查询结果。然而,目前我得到了一个错误:

无法通过包SELECT*从服务器找到对象方法fetchrow\U数组可能您忘记从服务器加载SELECT*?在updateDB.pl第32行

我想这个问题很容易解决。。但是我的perl/MySQL技能还有很多需要提高的地方。我的脚本如下:

!/usr/bin/perl 使用DBI; 使用DBD::mysql; 严格使用; 使用警告; MySQLSELECT*来自服务器; 定义提交MySQL命令的子例程 子MySQL { 建立与“serverDNA”数据库的连接 my$connection=DBI->connectDBI:mysql:database=serverDNA;host=localhost; my$query=$\u0];将参数分配给字符串 我的$statement=$connection->prepare$query;prepare query $statement->execute;执行查询 循环以打印MySQL结果 而我的@row=$query->fetchrow\u数组 { 打印@行\n; } } 非常感谢

您正在查询字符串上调用fetchrow\u数组;你想在声明上说出来

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

尝试将$Quest-> FETCHROWLARE数组更改为$-> FETCHROWOR.ARRAY。在使用DBI时,您应该考虑一些事情。在这种情况下,您不需要使用DBD,DBI将自动为您加载它。DBI文档说,最好将连接处理程序命名为$dbh,语句处理程序命名为$sth。我还建议您阅读DBI文档中有关不同类型的获取以及prepare的功能的内容: