Автор Тема: Соединение с базой  (Прочитано 5790 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« : 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. не судите строго, я новичок.
« Последнее редактирование: 03 Октября 2007, 10:00:05 от mookee »

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Соединение с базой
« Ответ #1 : 03 Октября 2007, 11:00:44 »
при начале работы делаешь коннект и конце - дисконект (что кстати не обязательно в большинстве случаях)
And no religion too...

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« Ответ #2 : 03 Октября 2007, 12:49:57 »
2commander
ну эт понятно что в начале коннект, а в конце дисконнект, но вопрос про то как этот вызов делать, не является ли это лишней нагрузкой, так как если вызывать несколько функций и в каждой делать коннект и дискон-т? Может существует какой нить более удобный способ?

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Соединение с базой
« Ответ #3 : 03 Октября 2007, 15:43:23 »
mookee
ты функцию от куда вызываешь?
And no religion too...

Оффлайн frenky

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 171
  • +0/-0
  • 0
    • Просмотр профиля
    • http://fdm.kiev.ua
Соединение с базой
« Ответ #4 : 03 Октября 2007, 15:57:52 »
не нужно прописывать в каждой функции коннект и дисконнект сделай одну функцию на коннект и  второую на дисконнект.
В начале работы скрипта конекться а в конце дисконектться
____________________
[on-line football manager] fdm.kiev.ua

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« Ответ #5 : 03 Октября 2007, 15:58:30 »
Есть пакет, в котором есть некоторое кол-во функций работающих с базой (выборка, запись и т.п.), и вот в каждой функции я соединяюсь с базой и отключаюсь в конце. В основном скрипте загружаю пакет и потом вызываю функции.

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« Ответ #6 : 03 Октября 2007, 15:59:50 »
frenky
можно пример?
« Последнее редактирование: 03 Октября 2007, 16:11:41 от mookee »

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Соединение с базой
« Ответ #7 : 03 Октября 2007, 16:20:24 »
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 ...;
}
And no religion too...

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« Ответ #8 : 03 Октября 2007, 16:29:12 »
tnx

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Соединение с базой
« Ответ #9 : 03 Октября 2007, 16:33:01 »
mookee
а вообще лучше все это в модуль запихать... и не париццо... connect - будет конструктором... а disconnect - диструктором...
And no religion too...

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« Ответ #10 : 03 Октября 2007, 21:08:22 »
ok надо подумать как это сделать

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Соединение с базой
« Ответ #11 : 04 Октября 2007, 09:40:58 »
mookee
use SQLayer;

там это уже все сделано...
And no religion too...

Оффлайн mookee

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Соединение с базой
« Ответ #12 : 05 Октября 2007, 07:21:26 »
спасибо, будем посмотреть :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28