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

  • 09.01.2014

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

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

<?php
$options = array();
 
$options['driver']  = 'mysql';     // Имя драйвера
$options['host']   = 'db.host.ru';  // Адрес хоста
$options['user']   = 'someuser';   // Имя пользователя
$options['password'] = 'somepassword'; // Пароль
$options['database'] = 'somedb';    // Имя базы данных
$options['prefix']  = 'abc_';     // Префикс таблиц (может быть пустым)
 
$db = JDatabase::getInstance($options);
?>

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

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

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

Это интересно:

Добавить комментарий

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

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

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

Скачать Joomla! 3 Документация Joomla! CMS Свернуть

Расширения Joomla

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

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

Видео