php - joomla 中的 mysql_select_db

标签 php mysql joomla

使用2个数据库,我想在joomla查询之前选择数据库,类似于核心php中的mysql_select_db

目前我正在使用下面的行来触发所有查询,

$db =& JFactory::getDBO();

而且我不想这样查询,

select * from databasename.tablename; 

因为它影响了我的mysql复制。

有人遇到过类似的问题吗?

感谢任何帮助。

最佳答案

创建一个像这样的辅助函数

function getCustomDBO(){   
    jimport('joomla.database.database');
    jimport( 'joomla.database.table' );

    $conf =& JFactory::getConfig();

    $host       = '192.168.1.1'; //replace your IP or hostname
    $user       = 'db_user'; //database user
    $password   = 'db_pass';//database password
    $database   = 'db_name'; //database name
    $prefix     = 'jos_'; //prefix if any else just give any random value
    $driver     = 'mysql'; //here u can also have ms sql database driver, postgres, etc
    $debug      = $conf->getValue('config.debug');

    $options    = array ( 'driver' => $driver, 'host' => $host, 'user' => $user, 'password' => $password, 'database' => $database, 'prefix' => $prefix );

    $db =& JDatabase::getInstance( $options );

    if ( JError::isError($db) ) {
        header('HTTP/1.1 500 Internal Server Error');
        jexit('Database Error: ' . $db->toString() );
    }

    if ($db->getErrorNum() > 0) {
        JError::raiseError(500 , 'JDatabase::getInstance: Could not connect to database <br />' . 'joomla.library:'.$db->getErrorNum().' - '.$db->getErrorMsg() );
    }

    $db->debug( $debug );
   }

然后你可以像 SomeHelper::getCustomDBO(); 这样调用它

享受!!

关于php - joomla 中的 mysql_select_db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624551/

相关文章:

php - 在php中获取文件的大小

只有工作日的 PHP Carbon 日期差异

php - 如何在不在客户端系统上安装 xampp 的情况下运行 php 应用程序?

php - Joomla 可以处理 jos_users 表中数百万用户的查询吗?

php - 如何设置特定用户对后端 Joomla 2.5.4 中特定模块的访问权限?

php - 从两个不同的数据库表输出结果的最佳方法

php - XAMPP apache Http 服务器已停止工作

PHP/MySQL 使用 bootstrap 输出到表中 - 列困惑

php pdo只返回一个结果集

javascript - 没有div或以某种方式放大图像