如何使用Joomla链接一个外部的数据库

今天在项目中遇到了一个问题,那就是需要在joomla中调用另外一个数据库的数据。这个问题并不难解决,大不了,重新写一套查询语句就能解决了,但是我想要优雅的解决这个问题,因为joomla毕竟已经提供了很好的数据库接口的封装了,是否可以通过参数配置就解决问题呢。
 
通过查看源码,发现这是可行的。
 
在正常的joomla执行流程中,我们只需要调用
<?php 
$db = JFactory::getDBO();
?>
这样就能获得数据库的连接对象,然后执行查询了。
 但如果是另外的数据库,或者数据库的前缀不同,那该怎么办呢?
这是我们就需要配置DBO了,使用JDatabaseDriver::getInstance($options);方法来解决了。
 
如何配置,下面是一段示范代码
<?php
$option = array();

$option['driver'] = 'mysql'; // Database driver name
$option['host'] = 'db.myhost.com'; // Database host name
$option['user'] = 'test'; // User for database authentication
$option['password'] = 'test'; // Password for database authentication
$option['database'] = 'test'; // Database name
$option['prefix'] = 'test_'; // Database prefix (may be empty)

$db = JDatabaseDriver::getInstance( $option );
?>
这样就可以使用安装joomla的方法来查询数据库了。

1 个评论

thanks。解决了我的问题

要回复文章请先登录注册