Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Попадасть в базу данных


Автор: KVP 13.9.2006, 23:56
В базе данных мне нужно выполнить ряд команд а я не знаю про что идет речь и как туда попасть smile (самому смешно)

Автор: korob2001 14.9.2006, 00:14
 smile  А как же команды будешь выполнять, если не знаешь как туда попасть и что это вообще такое?

Автор: KVP 14.9.2006, 00:16
Ну представление я то имею но хотелось бы проконсультировать у знающих людей дабы ускорить процесс smile 

Автор: korob2001 14.9.2006, 00:24
А что за база?

Автор: KVP 14.9.2006, 08:12
я установил моудль DBD::mysql теперь требуется выполнить ряд действий в базе данных

Автор: Bulat 14.9.2006, 09:01
KVP, Какие действия, инсерт в базу, апдейт базы или селект из базы?

Автор: BlackLFL 14.9.2006, 13:21
В документации даны любые примеры использования интерфейса
http://search.cpan.org/~capttofu/DBD-mysql-3.0007/lib/DBD/mysql.pm

http://search.cpan.org/~timb/DBI-1.52/DBI.pm

Автор: KVP 15.9.2006, 23:22
да и еще я в базах ... не силен но когда настраиваю пишется Error connect to mysql в строке (

$sqldatabase = 'DBI:mysql:имя_базы_данных:localhost:3306';

sub mysql_connect {
    my $dbh = DBI->connect($sqldatabase,$sqlname,$sqlpass) or die "Error connect to mysql";
    return $dbh;
}

к чему должна конектиться эта байда smile

Автор: Кнером 16.9.2006, 02:05
Цитата(KVP @  16.9.2006,  00:22 Найти цитируемый пост)
к чему должна конектиться эта байда

Эта байда должна коннектиться к базе  smile 

$sqldatabase,$sqlname,$sqlpass - это переменные для в которых должны находиться данные для поключения к БД. Соотвественно, имя базы, логин, пароль.

В большенстве книг есть примеры, в интернете навалом примеров.

Добавлено @ 02:08 
KVP, а у тебя случайно хостинг не у РБК?

my $dbh = DBI->connect(localhost,имя_базы_данных,gfhjkm_tckb_tcnm) or die "ПРЕВЕД, КРАСАВЧЕГ!";

Автор: BlackLFL 16.9.2006, 20:45
Код

or die DBI->errstr;

Автор: KVP 17.9.2006, 00:43
Can't connect to data source localhost, no database driver specified and DBI_DSN env var not set at data.pm line 15

Автор: Кнером 18.9.2006, 21:04
KVP, здорово было бы если ты привёл бы код, чтобы мы видели, что у тебя в 15 строчке находится. А так же нужно узнать, ты устанавливал драйвер для подключения к БД?

Глаза жутко болят, а из-за этого голова трешит. Жуть. Нифига не соображаю, пора домой.

Автор: korob2001 18.9.2006, 23:37
Ставь DBD::mysql и DBI.
После:
Код

use DBI;

my $host = "localhost";
my $base = "Test";
my $log = "root";
my $pass = "";

my $dbh = DBI->connect("DBI:mysql:host=$host;database=$base", $log, $pass) or die DBI->errstr;
my $sql = "SELECT * FROM Table WHERE Id=?";   # Здесь вместо Table укажи имя своей таблицы
my $sth = $dbh->prepare($sql);
$sth->execute(101);  # Здесь укажи вместо 101 номер Id который хочешь выбрать.

while (my $ref = $sth->fetchrow_arrayref()) {
          # Тута делаем что-то с $ref
}

$sth->finish();
$dbh->disconnect();

Это только один из нескольких примеров, для выборки из таблицы Table.

ЗЫ:Пример я не тестировал, а писал прямо сюда.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)