使用 JDatabase 连接到 Joomla 中的多个数据库


Connecting to Multiple Databases in Joomla Using JDatabase

可以使用

JDatabase::getInstance()方法创建与多个数据库的连接。以下链接指向一个教程,该教程介绍如何创建帮助程序文件,以便轻松创建指向不同数据库的多个 JDatabase 实例。可以使用自定义帮助程序类按以下方式创建数据库实例。

$db = JFactory::getDBO();
$db2 = MyDataHelper::getDBO2();
$db3 = MyDataHelper::getDBO3();

您仍然可以使用 JFactory 正常获取默认数据库对象。

您可以将自己的选项数组添加到 JDatabaseDriver 中,如下所示:

第一个数据库:

$db = JFactory::getDbo();

第二个数据库:

$option2 = array();
$option2['driver']   = 'mysqli';     // Database driver name
$option2['host']     = 'localhost';  // Database host name
$option2['user']     = 'DB_USER';    // User for database authentication
$option2['password'] = 'DB_PASS';    // Password for database authentication
$option2['database'] = 'DB_NAME';    // Database name
$option2['prefix']   = 'jos_';       // Database prefix (may be empty)
$db2 = JDatabaseDriver::getInstance($option2);

第三个数据库:

$option3 = array();
$option3['driver']   = 'mysqli';     // Database driver name
$option3['host']     = 'localhost';  // Database host name
$option3['user']     = 'DB_USER';    // User for database authentication
$option3['password'] = 'DB_PASS';    // Password for database authentication
$option3['database'] = 'DB_NAME';    // Database name
$option3['prefix']   = 'jos_';       // Database prefix (may be empty)
$db3 = JDatabaseDriver::getInstance($option3);