print
后, my $dbh = DBI->connect($dsn, "username", "password");
语法无法正常工作。但是,当我将my $dbh = DBI->connect($dsn, "username", "password");
print
顶部的打印语法正常工作时。这种情况发生在我使用CGI通过浏览器运行此代码时,当我在命令行中运行此代码时都能正常工作。
以下是代码:
#!"C:\Strawberry\perl\bin\perl.exe"
use CGI qw(:standard);
use DBI;
use JSON;
print header("application/json");
my $dsn = "DBI:mysql:database=webservices;host=localhost;port=3306";
print "test"; #work properly
my $dbh = DBI->connect($dsn, "root", "bukanjombloboy");
print "test"; #not working
my $result = $dbh->prepare("SELECT * FROM news");
$result->execute();
my $json_text = to_json($result->fetchall_arrayref());
print $json_text;
$dbh->disconnect();
对不起,我的英语不好,不管怎样,谢谢。
答案 0 :(得分:0)
这可能是EOL的问题,在行中:
my $dbh = DBI->connect ($dsn, "root", "bukanjombloboy");
检查所有行中的所有EOL是否相等。
答案 1 :(得分:0)
我找到了解决方案。 问题是APACHE webserver没有访问库的权限,所以我必须在管理员模式下运行XAMPP。