当我尝试使用Perl的DBD :: mysql时,为什么会出错?

cqu*_*ini 1 mysql perl dbi dbd

我正在尝试使用Perl将数据写入MySQL数据库.但是,当我运行我的脚本时,我收到以下错误:

Can't locate loadable object for module DBD::mysql in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at LargeLDAPSearch.pl line 10.

我确实有这些"使用"语句和以下代码.这只是一个小摘录,因为脚本在我尝试数据库连接之前工作:

use DBD::mysql;
use strict;
use warnings;
my $query_handle;

my ($platform,$database,$host,$port,$db_user,$pw) = ("mysql","results","localhost","3306","root","mysql123");

my $dsn = "dbi:$platform:$database:$host:$port";

my $connect = DBI->connect($dsn,$db_user,$pw) || die "Could not connect to database";

my $query_insert = "INSERT INTO " . $dbname . "(uid,status,lstpwdset,reset) VALUES (" . $strSAMA . "," . $strAcctControl . "," . $pwLS . "," . $reset . ")";

$query_handle = $connect->prepare($query_insert);
$query_handle->execute();
Run Code Online (Sandbox Code Playgroud)

我已经进入我本地的Perl文件夹,并搜索了lib文件目录.在/lib/子文件夹中,我有两个文件夹,一个DBI和一个DBD子文件夹,我在DBD中有MySQL子文件夹,还有一个DBD子文件夹,在DBI下有一个MySQL子文件夹. /lib/DBD/mysql/&`/ lib/DBI/DBD/mysql /``

这可能是错误,两个地方的fodlers.我去了CPAN网站,并尝试了手册isntall步骤,我收到了关于SQLLite的DBI安装错误.

Sin*_*nür 5

安装DBIDBD::mysql使用

C:\> ppm install DBI
C:\> ppm install DBD::mysql

您似乎正在使用ActivePerl,因此请使用它为您提供的功能.

DBD :: mysql附带文档:

从perl中,您可以使用语句激活接口

use DBI;
Run Code Online (Sandbox Code Playgroud)

之后,您可以连接到多个MySQL数据库服务器,并通过简单的面向对象的接口向其中任何一个发送多个查询.有两种类型的对象:数据库句柄和语句句柄.Perl返回一个连接方法的数据库句柄,如下所示:

my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",
                  $user, $password, {RaiseError => 1});
Run Code Online (Sandbox Code Playgroud)