mysql - 通过 codeigniter 使用一个连接和一个查询访问多个数据库

标签 mysql codeigniter

我有一个关于 mysql db 和 codeigniter 框架的问题

我想使用一个查询通过 codeigniter 访问多个数据库,该查询返回一个结果集 示例如下:

SELECT A.name, B.class_name
FROM DB1.Table1 AS A, DB2.Table1 AS B
WHERE A.id = B.id

返回一个结果???

以下是我在 codeigniter 中的连接设置

$db['DB2']['hostname'] = 'localhost';
$db['DB2']['username'] = 'connection_name';
$db['DB2']['password'] = 'connection_password';
$db['DB2']['database'] = 'DB2';
$db['DB2']['dbdriver'] = 'mysql';
$db['DB2']['dbprefix'] = '';
$db['DB2']['pconnect'] = TRUE;
$db['DB2']['db_debug'] = TRUE;
$db['DB2']['cache_on'] = FALSE;
$db['DB2']['cachedir'] = '';
$db['DB2']['char_set'] = 'utf8';
$db['DB2']['dbcollat'] = 'utf8_general_ci';
$db['DB2']['swap_pre'] = '';
$db['DB2']['autoinit'] = TRUE;
$db['DB2']['stricton'] = FALSE;


$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'connection_name';
$db['default']['password'] = 'connection_password';
$db['default']['database'] = 'DB1';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

请提供一些示例代码来帮助我运行上述查询。

提前致谢

最佳答案

使用该数据库的 MySQL 用户(例如用户 x)创建 1 个与 DB1 的连接,并为用户 x 授予 DB2 权限MySQL 也是如此,这样您就可以使用一个连接并在查询中访问多个数据库...

关于mysql - 通过 codeigniter 使用一个连接和一个查询访问多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12473984/

相关文章:

mysql - 如何使用 git 为 WordPress 站点设置本地服务器

mysql - Perl 将空时间戳打印到 csv 文件

php - Mysql表自定义自增

php - 使用 PHP 在 Codeigniter 中连接两个表

php - CodeIgniter "like()"函数在搜索词中带有 % 通配符

php - CodeIgniter - 分页与删除冲突

php - 在PHP中删除多个逗号

MySQL 按特定列值排序,按另一列的日期进行二级排序

php - 如何在php的另一个页面中调用局部变量

arrays - 使用 CodeIgniter 2.0 上传多个文件(数组)