Чтение RSS каналов

Форум

Открыть Ответить

Как подключить к модулю стороннюю БД и вывести из нее информацию?

5

5
1
22.01.2009 12:07:42
Собственно возникла потребность создать простенький модуль выводящий определенную статистику, загвоздка в том что информация хранится в другой БД.

Подскажите как в модуль подключить стороннюю БД и затем создовать запросы и выводить?
(движок Open SLAED 1.1)

Если не затруднит, с примером.
Спасибо.


Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Локальный сервер
2
23.01.2009 07:34:1723.01.2009 07:35:31
$db2= new sql_db("хост_БД", "имя_пользователя_бд", "пароль_пользователя_бд", "имя_базы_данных", false);
if (!$db2->db_connect_id) echo(""._SQLERROR."");
list($pid, $descr)=$db2->sql_fetchrow($db2->sql_query("select pid, descr from categories where cid='1'"));
echo $descr;

вот рабочий пример) собственно для использования в модуле, внесите кусок куда-нибудь в начало модуля, и потом при подключении глобальных переменных просто подключайте еще переменную дб2
3
23.01.2009 07:59:38
DiFor Спасибо.
4
23.01.2009 08:45:01
да не за что))
5
26.01.2009 13:43:10
поднимаю вопрос,
ко второй базе подключаюсь ок (по примеру выше)
прописываю в начале модуля $db2, затем добавляю в глобал функций, но при этом выпадают все блоки... то есть падает первое подключение...

попытался по аналогии в конце модуля прописать $db чтоб восстановить но нечего не выходит...
ЧТО НЕ ТАК?
6
26.01.2009 14:25:21
так, разобрался оказывается нужно пере подключение производить до switch($op)
7
28.01.2009 08:59:00

$db2= new sql_db("хост_БД", "имя_пользователя_бд", "пароль_пользователя_бд", "имя_базы_данных", false);
if (!$db2->db_connect_id) echo(""._SQLERROR."");



все же не помогает, вообще это решение как оказалось тупиковое... для блока может и сработает но для модуля.... даже если в каждой функции отдельно пере подключатся все работает с большим скрипом... а некоторые запросы к бд вообще отказываются срабатывать так кат Пед намудри с ними в musql.php и некоторые функции от тудо просто отваливаются....

Все же решил вопрос... но совсем по другому...
не подключая к модулю не чего дополнительного выполняем стандартный запрос $db->sql_query(...... но в указании имя таблицы пишем ИМЯ_БАЗЫ.ИМЯ_ТАБЛИЦЫ
и все замечательно работает при условии что базы на одном хосте и пользователь стандартной БД имеет как минимум права на чтение второй базы....
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь