用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2264|回复: 5
收起左侧

在程序中连接另外一个数据库出现错误

[复制链接]
发表于 2009-6-12 16:19:15 | 显示全部楼层 |阅读模式
我使用ci版本是最新的1.7版本,
数据库的装载我让它自动装载的(在autoload里面配置了),并且可以读取数据库没有问题。
现在我需要读取另外一个数据库,我按照手册上步骤,在控制器程序总做了如下设置
$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";

$this->load->database($config);


但是提示错误,用的数据库还是默认配置的那个。


我看了手册还是没有解决,请大家帮忙看看。谢谢。
发表于 2009-6-12 17:04:33 | 显示全部楼层
要用$objAnotherDatabase=&DB($config);获取另外一个数据库的对象
 楼主| 发表于 2009-6-12 18:13:46 | 显示全部楼层
非常感谢!真的可以啊。 那手册上说的是错误的吗?
发表于 2009-6-12 18:14:47 | 显示全部楼层
$CI->db只能指向一个数据库,没有内部方法切换到其他数据库的说
发表于 2009-6-12 19:31:25 | 显示全部楼层
手册写的没有问题,仔细看一下。
发表于 2009-6-28 18:21:57 | 显示全部楼层
你的配置文件有问题,看我的
$active_group = "default";
$active_record = TRUE;

$db['default']['hostname'] = "192.168.1.11";
$db['default']['username'] = "root";
$db['default']['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['ydd']['hostname'] = "192.168.1.11";
$db['ydd']['username'] = "root";
$db['ydd']['password'] = "";
$db['ydd']['database'] = "db2";
$db['ydd']['dbdriver'] = "mysql";
$db['ydd']['dbprefix'] = "";
$db['ydd']['pconnect'] = FALSE;
$db['ydd']['db_debug'] = TRUE;
$db['ydd']['cache_on'] = FALSE;
$db['ydd']['cachedir'] = "";
$db['ydd']['char_set'] = "utf8";
$db['ydd']['dbcollat'] = "utf8_general_ci";
默认default.
要访问第二个
$DB2 = $this->load->database('ydd', TRUE);
$query = $DB2->query('your sql');

本版积分规则