changanti 发表于 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);

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


我看了手册还是没有解决,请大家帮忙看看。谢谢。

visvoy 发表于 2009-6-12 17:04:33

要用$objAnotherDatabase=&DB($config);获取另外一个数据库的对象

changanti 发表于 2009-6-12 18:13:46

非常感谢!真的可以啊。 那手册上说的是错误的吗?

visvoy 发表于 2009-6-12 18:14:47

$CI->db只能指向一个数据库,没有内部方法切换到其他数据库的说

Hex 发表于 2009-6-12 19:31:25

手册写的没有问题,仔细看一下。

ci_kis 发表于 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');
页: [1]
查看完整版本: 在程序中连接另外一个数据库出现错误