Подключение к внешней базе данных

  • Четверг, 09 января 2014

Если вы хотите получить доступ к таблицам той же базы данных, в которую установлена Joomla!, вы можете просто использовать метод JFactory::getDbo(). А если возникла необходимость в подключении к внешней базе данных из Joomla? Это может быть другая база данных на этом же сервере или вообще на другом сервере, и возможно с другим драйвером базы данных. Вы можете сделать это с помощью метода JDatabase::getInstance().

Рассмотрим пример кода:


Теперь $db стал объектом типа JDatabase и вы можете выполнять базовые операции, используя привычные вам методы.

Обратите внимание на то, что если база данных использует нестандартный порт для соединения, то вы можете указать его в параметре hostname, например db.host.ru:3307.

Другой интересной особенностью использования JDatabase::getInstance() является то, что если вызвать его с такими же параметрами, то метод вернет ранее созданный объект, а не новый. Но параметры должны в точности совпадать. Например, если вы сначала сделали вызов, используя параметр db.host.ru:3306, а затем, используя параметр db.host.ru, будет сделано два разных соединения, несмотря на то, что MySQL использует порт 3306 по умолчанию и эти параметры логически одинаковы.

Дмитрий Рекун

Дмитрий Рекун

Пишу везде и понемногу ;)

Латвия, Рига. https://jpath.ru/

Статьи автора

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla