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

Дмитрий Рекун 09 января 2014 1 мин 24702 просмотров

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

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


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

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

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

Назад На главную