Perl. connect mysql.
Здравствуйте, друзья. Помогите пожалуйста новичку.
Я дилетант в perl-е, но очень хочу освоить его.
Захотелось попрактиковаться в работе с mysql. Но не получается даже подключиться к базе.
Код:
#!/usr/bin/perl
$db_user = BachiStil;
$db_password = *******;
use DBI;
$dbh=DBI->connect("DBI:mysql:print:FreeBSD", BachiStil, ****, {RaseError => 1});
И выдает
Код:
DBI connect ('print:FreeBSD','BachiStil',...) failed: Access denied for user
'BachiStil'@'FreeBSD' (using password: YES) at ./print.pl line 5
|
BachiStil, мда.... у вас сложный случай... Кто ж строки пишет без кавычек?
Код:
#!/usr/bin/perl
use DBI;
$password = 'toor';
$user = 'root';
$data_source = 'DBI:mysql:test'; #### база test
$db = DBI->connect ($data_source, $user, $password)|| die "Cant do prepare: " . $db->errstr(); # вот так, чтоб не гадать потом, что за ошибка
$sql = "SELECT `id`, `name`, `code` FROM `personal` WHERE `position`='waiter' ORDER BY `name`"; # пример запроса
$sth2 = $db->prepare ($sql) || die "Cannot do SELECT: " . $db->errstr();# пихаем наш запрос базе....
$sth2->execute; # ... если нет ошибок, то исполняем его
while (($id, $name, $code) = $sth2->fetchrow_array ()) # обрабатываем ответ... он идет в виде массива
{
/// тут пишем ваш код обработки, если нужно
$position = '<option value="'. $id . '">'. $name . '</option>';
push @options, $position ;
push @pose, '0';
push @codes, $code;
}
$sth2->finish; # все, ответ разобран, завершаем этот запрос
$db->disconnect(); # отсоединяемся от базы
Цитата:
Цитата BachiStil
DBI connect ('print:FreeBSD','BachiStil',...) failed: Access denied for user 'BachiStil'@'FreeBSD' (using password: YES) at ./print.pl line 5 »
|
ну так у вас запрешен доступ 'BachiStil'@'FreeBSD' - зайдите через клиента mysql локально и дайте ему привилегию входа с любой машины
|
dmitryst,
Разрешил вход с любой машины все равно тоже самое.
попробовал вот так:
Код:
$dbh=DBI->connect("DBI:mysql:database=print;", BachiStil, ****, {RaseError => 1});
теперь вот что выводит:
Код:
Can't set DBI::db=HASH(0x825f178)->{RaseError}: unrecognised attribute name or
invalid value at / usr/local/lib/perl5/site_perl/5.8.9/mach/DBI.pm line 693.
Can't get DBI::db=HASH(0x825f178)->{RaseError}: unrecognised attribute name
at /usr/local/lib/per l5/site_perl/5.8.9/mach/DBI.pm line 693.
|
Нашел ошибку. Опечатался я. RaiseError
|
Время: 05:23.
© OSzone.net 2001-