powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Firebird) 2 соединения
4 сообщений из 4, страница 1 из 1
(PHP&Firebird) 2 соединения
    #32964909
GeometriC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Встала задача в одном скрипте установить соединения с двумя базами данных. Но появилась проблема: функция ibase_query выполняет запрос только через последнее установленное соединение, не обращая никакого внимания на второй параметр.
В документации по любым серверам (для php) написано что при помощи функций типа xxxx_connect можно установить сколь угодно много соединений.
Как можно решить эту проблему?
...
Рейтинг: 0 / 0
(PHP&Firebird) 2 соединения
    #32964969
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перед выполнением надо выбрать базу, посмотрите мануал по firebird, наверно будет похожее на use_base(base_name), select_base(base_name).
...
Рейтинг: 0 / 0
(PHP&Firebird) 2 соединения
    #32965010
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
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
(PHP&Firebird) 2 соединения
    #32965124
GeometriC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так значит link identifer должен быть всё-таки первым параметром? Тогда конечно всё заработало. Спасибо за помощь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Firebird) 2 соединения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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