Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Firebird) 2 соединения / 4 сообщений из 4, страница 1 из 1
17.03.2005, 09:13
    #32964909
GeometriC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Firebird) 2 соединения
Здравствуйте. Встала задача в одном скрипте установить соединения с двумя базами данных. Но появилась проблема: функция ibase_query выполняет запрос только через последнее установленное соединение, не обращая никакого внимания на второй параметр.
В документации по любым серверам (для php) написано что при помощи функций типа xxxx_connect можно установить сколь угодно много соединений.
Как можно решить эту проблему?
...
Рейтинг: 0 / 0
17.03.2005, 09:40
    #32964969
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Firebird) 2 соединения
перед выполнением надо выбрать базу, посмотрите мануал по firebird, наверно будет похожее на use_base(base_name), select_base(base_name).
...
Рейтинг: 0 / 0
17.03.2005, 09:59
    #32965010
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Firebird) 2 соединения
GeometriCНо появилась проблема: функция ibase_query выполняет запрос только через последнее установленное соединение, не обращая никакого внимания на второй параметр.

Совсем неправда... А вот в мануале всё честно :) Я коннекчусь к двум базам отличненько, всё работает... Может, вы не указываете, какое соединение использовать при вызове функции ibase_query([int link_identifier, string query]) (первый параметр)

Вот часть моего работающего кода:
Код: plaintext
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
//...

   $web_uhpLink = @ibase_connect(GLOBAL_MAIN_DB_PATH, GLOBAL_MAIN_DB_USER_NAME, GLOBAL_MAIN_DB_USER_PASSWORD, GLOBAL_MAIN_DB_CHARSET, GLOBAL_MAIN_DB_BUFFERS, GLOBAL_MAIN_DB_DIALECT, GLOBAL_MAIN_DB_ROLE) or die (" <body><br><center><div style = \"".ERROR_MESSAGE_STYLE."\"><b>Ошибка подключения к БД сотрудников!<b></div></center></body>\r\n</html>");

   $query = "select UW_ID, UW_SNAME, UW_FNAME, UW_PNAME, UW_EMAIL from UHPWORKERS where UW_ID in (".$workersList.") order by UW_SNAME, UW_FNAME, UW_PNAME, UW_EMAIL";

   $queryRes = ibase_query($web_uhpLink, $query);

   $workersToReplicate = array();

   while($row = ibase_fetch_object($queryRes))
   {
    $workerAttr = array();

    $workerAttr['id'] = $row->UW_ID;
    $workerAttr['SName'] = $row->UW_SNAME;
    $workerAttr['FName'] = $row->UW_FNAME;
    $workerAttr['PName'] = $row->UW_PNAME;
    $workerAttr['login'] = $row->UW_EMAIL;

    $workersToReplicate[] = $workerAttr;
   }

   ibase_free_result($queryRes);

   ibase_close($web_uhpLink);
   
// ...

 $mainLink = ibase_connect(DB_PATH, DB_USER_NAME, DB_USER_PASSWORD, DB_CHARSET, DB_BUFFERS, DB_DIALECT, DB_ROLE) or die ("<html>\r\n <body><br><center><div style = \"".ERROR_MESSAGE_STYLE."\"><b>Ошибка подключения к БД!<b></div></center></body>\r\n</html>");


   foreach($workersToReplicate as $workerToReplicate)
   {
    $pwd = strval(rand( 100000 ,  999999 ));

    $query = "insert into USERS(US_UWID, US_SNAME, US_FNAME, US_PNAME, US_LOGIN, US_PWD) values ('".$workerToReplicate['id']."', '".$workerToReplicate['SName']."', '".$workerToReplicate['FName']."', '".$workerToReplicate['PName']."', '".strtolower($workerToReplicate['login'])."', '".md5($pwd)."')";

    @ibase_query($mainLink, $query);
   }

 ibase_close($mainLink);

// ...

Работает с 2-мя базами
...
Рейтинг: 0 / 0
17.03.2005, 10:35
    #32965124
GeometriC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Firebird) 2 соединения
Так значит link identifer должен быть всё-таки первым параметром? Тогда конечно всё заработало. Спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Firebird) 2 соединения / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]