CI支持运行时使用不同的数据库吗?
db['default']['hostname'] = "localhost";$db['default']['username'] = "root";
$db['default']['password'] = "password";
$db['default']['database'] = "mydb";
$db['default']['dbdriver'] = "mysql";
……
$db['test']['hostname'] = "localhost";
$db['test']['username'] = "root";
$db['test']['password'] = "password";
$db['test']['database'] = "testdb";
$db['test']['dbdriver'] = "mysql";
……
我在controller或者类中需要同时对两个数据库进行操作,CI支持这样的操作吗? 支持,可以一次使用多个数据库,请参考中文手册。 原帖由 Hex 于 2008-3-19 15:41 发表 http://codeigniter.org.cn/forums/images/common/back.gif
支持,可以一次使用多个数据库,请参考中文手册。
中文手册中有吗?以下是我找的内容:
我们使用多维数组的原因是为了让你随意的存储多个连接值的设置。举例:如果你运行多个环境(development:开发、production:制作、test:测试 等等..),你能为每个环境建立独立的连接组,并在组直接进行切换。举例,设置一个"test"环境,你可以这样做:
$db['test']['hostname'] = "localhost";
$db['test']['username'] = "root";
$db['test']['password'] = "";
$db['test']['database'] = "database_name";
$db['test']['dbdriver'] = "mysql";
$db['test']['dbprefix'] = "";
$db['test']['pconnect'] = TRUE;
$db['test']['db_debug'] = FALSE;
$db['test']['cache_on'] = FALSE;
$db['test']['cachedir'] = "";
$db['test']['char_set'] = "utf8";
$db['test']['dbcollat'] = "utf8_general_ci";
那么,告诉系统使用"test"组,你可以设置位于配置文件中的变量:
$active_group = "test";
注意: "test"的名字是任意的,这可以让你自由设置,我们的主要连接默认使用"default"这个名字,当然,您可以基于您的项目为它起一个更有意义的名字。
如果我没理解错的话,意思是要么使用$db['default'], 要么使用$db['test'],二者取其一,我希望是可以在代码中随意选择DB。
如果用户只要提问题,版主就让查手册,那么除非CI很多解决不了的BUG,咱们就不用在这里讨论了。
不排除很多人不的确不喜欢看手册,但也不能说明提问的人都没有看过手册。表述和理解产生分歧也是会产生问题的,这不就需要沟通吗? 呵呵,很抱歉,我没有给出链接。
http://codeigniter.org.cn/user_guide/database/connecting.html
"连接多数据库"部分,请仔细查看,谢谢!
PS: 您参考的章节不对,数据库相关内容都要在数据库章节里查找。 Thanks.
就是我——想要的 很乐意为您效劳!
页:
[1]