无法在@INC中找到DBD / mysql.pm

时间:2014-10-06 00:14:19

标签: mysql perl

我已成功从ActiveState版本5.18.2.1802安装了最新版本的Perl。我在windows 8环境下的后端使用Mysql数据库。写下以下代码

#!/usr/local/bin/perl
use CGI;
use DBI;

    $cgiObj = CGI->new;
    print $cgiObj->header('text/html');

    $params = 'DBI:mysql:world:localhost';
    $user = 'root';
    $pass = 'XXXXXX!';

    $conn = DBI->connect($params, $user, $pass);
    $sql='select * from city';
    $query =$conn->prepare($sql);
    $query->execute;

    while(@row=$query->fetchrow_array)
    {
        print "ID: $row[0], Name: $row[1]<br>\n";
    }

请有人给我指导

1 个答案:

答案 0 :(得分:2)

据推测,您还没有安装DBD :: mysql。但是假设你错误地输入了错误信息(那将是&#34;无法找到DBD / mysql.pm&#34;而不是&#34;无法找到DBD / Mysql.pm&#34 ;)

您也没有按照文件记录设置DSN;它应该采用以下形式之一:

$dsn = "DBI:mysql:$database";
$dsn = "DBI:mysql:database=$database;host=$hostname";
$dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";

此外,如果您总是说:

,将来会为您节省很多麻烦
use 5.018;
use warnings;
在脚本中

并正确声明变量。 (可选择使用较低的最低版本号,但如果您指定的版本低于5.012,则还需要use strict;,因为这不会为您完成。)