Ваше сообщение об ошибке очень ясно - вы пытаетесь использовать и объект под названием $db
класса JDatabaseMySQLi
как массив. Если вы создали $db
следующим образом:
$db = JFactory::getDBO();
// N.B. $db is already setup for the Joomla! database.
у вас есть разъем базы данных object
(используя MySQLi adpater) для Joomla! установка локальной базы данных (т. е. одна настройка в вашем configuration.php
). Это не array
- но ваша строка кода пытается использовать его в качестве array
$db['default']['hostname'] = $config->getValue('config.host');
Примечание: эта линия выше неправильно
Если вы хотите установить соединение с базой данных используя учетные данные, отличные от тех, которые хранятся в вашем configuration.php
(скажем, в удаленной базе данных), вы можете использовать следующий подход:
$options = array(
'host' => 'remote_host',
'user' => 'remote_user',
'password' => 'remote_password',
'database' => 'remote_name',
'prefix' => 'remote_table_prefix',
);
$rDBC = JDatabase::getInstance($options);
попробуйте использовать (strin g) $ config-> getValue ('config.host'); –
@RohitKumarChoudhary уже пробовал - не повезло. – user1692333
Вы можете печатать_r ($ config-> getValue ('config.host')); –