我正在使用带有Strawberry Perl和Eclipse EPIC插件的Eclipse。
我是perl的新手,我正在尝试连接到我设置的mysql数据库。当我尝试使用use MySql;
时,我收到错误:
无法在@INC中找到MySql.pm(您可能需要安装MySql 模块)(@INC包含:C:/ strawberry / perl / site / lib C:/ strawberry / perl / vendor / lib C:/ strawberry / perl / lib。)
我正在尝试为来自http://www.tizag.com/perlT/perlmysqlquery.php
的查询做一个简单的教程做一些谷歌搜索,看起来像草莓perl假设已经安装了DBD :: mysql。
我目前不知所措,也许我需要更新我的路径,或者日食环境,或者我需要使用不同的用途?
我的设置的一些细节:
答案 0 :(得分:3)
糟糕!该教程是垃圾。也许有一次它是最先进的Perl,但它已经过时了。模块Mysql.pm
在2006年被弃用了!您应该使用DBI
代替。
此外,您应该在您编写的每个 Perl脚本的顶部添加语句use strict;
和use warnings;
。如果您发现示例脚本中没有包含这些指令的教程,请立即停止阅读并查找新教程。 *
以下显示如何使用DBI
模块连接到MySQL数据库并打印出SELECT
语句的结果。有关详细信息,请参阅documentation。
use strict;
use warnings;
use 5.010;
use DBI;
my $dsn = "DBI:mysql:test;localhost";
my $user = 'user';
my $pass = 'pass';
my $dbh = DBI->connect($dsn, $user, $pass, {
PrintError => 0,
RaiseError => 1
});
my $statement = <<'SQL';
SELECT foo
FROM bar
SQL
my $sth = $dbh->prepare($statement);
$sth->execute;
while (my $row = $sth->fetch) {
say "@$row";
}
$dbh->disconnect;
*短代码片段不需要这些,但如果示例脚本包含shebang行(例如#!/usr/bin/perl
),则最好还有strict
和warnings
。
答案 1 :(得分:0)
这是基于ThisSuitIsBlackNot的建议给我的摘要。他的建议是正确的,我所做的例子不是使用DBD,而是弃用了代码。阅读他提供的链接让我深入了解了cpan,还有几个googles给了我一个cpan的例子,让我连接到我的MySQL数据库,没有任何问题。以下是其他人遇到类似问题的示例链接:http://search.cpan.org/~capttofu/DBD-mysql-4.028/lib/DBD/mysql.pm