【发布时间】:2012-05-16 07:12:11
【问题描述】:
我用 Perl 编写了以下代码。我有适用于 Windows 7 的 ActivePerl 5.14。
#!C:\perl64\bin\perl.exe -wT
use strict;
use warnings;
use DBI;
print "Content-type: text/html \n\n";
# MYSQL CONFIG VARIABLES
my $driver = "mysql";
my $database = "test555";
my $tablename3 = "test77";
my $user = "root";
my $pw = "root";
# PERL MYSQL CONNECT()
my $dbh = DBI->connect("DBI:$driver:$database", $user, $pw,);
my $sth = $dbh->prepare("
SELECT *
FROM t6
WHERE paragraph='PWE1234'
");
$sth->execute();
#$dbh->disconnect;
#exit 0;
当程序到达$dbh->disconnect时,系统正在抛出错误;因此将其注释掉。当我将其注释掉时,系统没有抛出任何错误,但我也没有得到输出。
这个查询有结果,我单独用MySQL查过一次。
【问题讨论】:
-
你没有打印任何东西,你为什么期待任何输出?
-
“系统抛出错误”...什么错误?
-
@gpojd,它抛出了一个错误 reg。语句句柄未关闭。因为我使用了 Strict,所以它正在呕吐。所以,在关闭数据库句柄之前,我给了语句句柄的完成语句。现在解决了!
-
@Mannii88,听起来您在关闭语句句柄之前没有获得所有记录。这可能是设计使然,但我不知道。我通常
while (my $row = $sth->fetchrow) {...}来获取所有行,然后我不需要$sth->finish。 -
@gpojd,您能否举一个最新模块的示例...我正在尝试与来自网络的资源并行...我正在尝试使用哈希...我想打印数组。 ..带标题...
标签: mysql perl dbi activeperl