gpt4 book ai didi

mysql - 如何在 Mac OS Sierra 中使用 Perl/CGI 连接 MySQL?

转载 作者:行者123 更新时间:2023-12-01 00:36:14 25 4
gpt4 key购买 nike

#!/usr/bin/perl
print "content-type:text/html\n\n";
print "<html><body>";
use CGI;
use DBI;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
$db="New";
$user="root";
$password="isRovss*%1u";
$host="localhost";
$dbh=DBI->connect("DBI:mysql:database=$db:$host",$user,$password) ||
die "couldnt open database:$DBI :: errstr";

$sth=$dbh->prepare("select * from stud");
$rv=$sth->execute();
print "<table>";
print "<tr><th>id</th></tr><tr><th>name</th></tr><tr><th>age</th>
</tr>";
while (@row = $sth->fetchrow_array()) {
$id=$row[0];
$name=$row[1];
$age=$row[2];;
}
print "<tr><td>$id</td></tr><tr><td>$name</td></tr><tr><td>$age</td>
</tr>";
print "</table>";
$rc=$sth->finish();
print "Database closed";
print "</body></html>";

我正在尝试使用 Perl 连接 mysql 数据库。我使用的是 Mac 操作系统,它显示“无法连接数据库”。

上面给出了我使用的代码。请帮帮我。

最佳答案

查看DBI documentation

$dbh = DBI->connect($data_source, $username, $password, \%attr)
or die $DBI::errstr;

与您的代码比较:

$dbh=DBI->connect("DBI:mysql:database=$db:$host",$user,$password) 
|| die "couldnt open database:$DBI :: errstr";

您已将 $DBI::errstr 放在一个字符串文字中,并添加了空格。

这意味着您的错误消息报告代码将尝试报告 $DBI(后跟 ::errstr)而不是包含错误的变量。

解决这个问题,你就可以找出问题所在:

$dbh=DBI->connect("DBI:mysql:database=$db:$host",$user,$password) 
|| die "couldnt open database:" . $DBI::errstr;

关于mysql - 如何在 Mac OS Sierra 中使用 Perl/CGI 连接 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49318029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com