В Perl я подключил базу данных, используя концепцию DBI. Соединение с базой данных и выбор таблицы запроса отлично работает в файле .pl. Но я запустил код подключения к базе данных DBI в файле .pm. Это не работает.
Пожалуйста, просмотрите код.
Sample.pl (работает нормально)
use DBI;
my $driver = "mysql";
my $database = "marketplace_perl";
my $dsn = "DBI:$driver:database=$database";
my $userid = "root";
my $password = "root";
my $dbh = DBI->connect($dsn, $userid, $password );
my $dbh=connect_db();
my $sth = $dbh->prepare("SELECT UserEmail,UserPassword FROM pj_user where UserEmail=? and UserPassword=?");
$sth->execute($UserEmail,$UserPassword);
Marketplace.pm (не работает)
package Marketplace;
use DBI;
sub connect_db {
my $driver = "mysql";
my $database = "marketplace_perl";
my $dsn = "DBI:$driver:database=$database";
my $userid = "root";
my $password = "root";
my $dbh = DBI->connect($dsn, $userid, $password );
return $dbh;
}
sub login_marketplace {
my $dbh=connect_db();
my $sth = $dbh->prepare("SELECT UserEmail,UserPassword FROM pj_user where UserEmail=? and UserPassword=?");
$sth->execute($UserEmail,$UserPassword);
my $User_count=$sth->rows;
return $User_count
}
Возвращает сообщение об ошибке "Не удалось получить доступ к классу (Marketplace): невозможно найти файл DBI.pm в @INC (может потребоваться установить модуль DBI)"
Пожалуйста, дайте мне знать, как исправить проблему с БД.