The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"perl, два запроса к базе в рамках одного подключения"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "perl, два запроса к базе в рамках одного подключения" +/
Сообщение от forfreeuseemail (??), 13-Окт-06, 11:40 
я делал так:

Пишем функции:
---------------

### Connect to db
sub cdb
{
unless($db=DBI -> connect("DBI:mysql:BASE_NAME","LOGIN","PASS"))
   {
    wlog("error", "Can't connect to db: $DBI::errstr",1);
    print_page("error", lmsg("internal_error"));
    exit();
   }
}

### execute sql query and check to error
sub sql
{
  unless($rc=$db->prepare($_[0]))
    {
     wlog("error","Can\'t prepare \"$_[0]\": $DBI::errstr",1);
     print_page("error",lmsg("internal_error"));
    }

  unless($rc->execute)
    {
     wlog("error","Can\'t execute \"$_[0]\": $DBI::errstr",1);
     print_page("error",lmsg("internal_error"));
    }
}

### execute sql another query and check to error
sub sql1
{
  unless($rc1=$db->prepare($_[0]))
    {
     wlog("error","Can\'t prepare \"$_[0]\": $DBI::errstr",1);
     print_page("error",lmsg("internal_error"));
    }

  unless($rc1->execute)
    {
     wlog("error","Can\'t execute \"$_[0]\": $DBI::errstr",1);
     print_page("error",lmsg("internal_error"));
    }
}


Далее в программе:
------------------
cdb();

sql("SELECT lala_topola");

  if ($rc->rows<1)
     {
      wlog("error","Can't get lala_topola");
      exit;
     }

while ($lala_topola=$rc->fetchrow_array)
     {
      sql1("select users);
      if ($rc1->rows!=1)
       {
        ...
       }
     }

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
perl, два запроса к базе в рамках одного подключения, CombatPenguin, 09-Окт-06, 14:44  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру