Forum Webscript.Ru
Программирование => Perl => Тема начата: mookee от 03 Октября 2007, 09:25:46
-
Доброго времени суток. Пишу скрипт для сайта, данные хранятся в базе MySQL. Посоветуйте, как организовать соединение с базой. Мне кажется это неправильно соединение и отключение с базой включать в каждую функцию?
например:
sub Select {
my $dbh = DBI->connect(...);
my $sth = $dbh->prepare(...);
$sth->execute();
...
$sth->finish();
$dbh->disconnect();
return ...;
}
Подскажите более элегантный способ, как это устроено у вас.
P.S. не судите строго, я новичок.
-
при начале работы делаешь коннект и конце - дисконект (что кстати не обязательно в большинстве случаях)
-
2commander
ну эт понятно что в начале коннект, а в конце дисконнект, но вопрос про то как этот вызов делать, не является ли это лишней нагрузкой, так как если вызывать несколько функций и в каждой делать коннект и дискон-т? Может существует какой нить более удобный способ?
-
mookee
ты функцию от куда вызываешь?
-
не нужно прописывать в каждой функции коннект и дисконнект сделай одну функцию на коннект и второую на дисконнект.
В начале работы скрипта конекться а в конце дисконектться
-
Есть пакет, в котором есть некоторое кол-во функций работающих с базой (выборка, запись и т.п.), и вот в каждой функции я соединяюсь с базой и отключаюсь в конце. В основном скрипте загружаю пакет и потом вызываю функции.
-
frenky
можно пример?
-
mookee
блин...
#!/usr/bin/perl -w
use strict;
connect;
my $var=Select("ha-ha-ha");
disconnect;
print "Content-type: text/html\\n\\n";
print "Hello world $var!\\n";
sub connect
{
......
return 1;
}
sub disconnect
{
......
return 1;
}
sub Select {
return ...;
}
-
tnx
-
mookee
а вообще лучше все это в модуль запихать... и не париццо... connect - будет конструктором... а disconnect - диструктором...
-
ok надо подумать как это сделать
-
mookee
use SQLayer;
там это уже все сделано...
-
спасибо, будем посмотреть :)