如何使用codeigniter创建另一个数据库连接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用codeigniter创建另一个数据库连接相关的知识,希望对你有一定的参考价值。
我需要连接到我正在做的另一个mysql数据库
$dsn = "{$dbdriver}://$vars[username]:$vars[password]@$vars[hostname]/$vars[database]";
$db2 = $this->EE->load->database($dsn, true);
$res = $db2->from('categories')->get()->result_array();
但我得到错误消息Fatal error: Call to a member function result_array() on a non-object
这是第三方脚本,因此数据库连接已经提前完成。然后该脚本应连接到另一个数据库,但已创建第一个数据库连接
$dsn
包含正确的数据。为什么我会收到此错误?谢谢
答案
在confid/database.php
上写第二个数据库的参数。
$db['second_db']['hostname'] = 'localhost';
$db['second_db']['username'] = 'foo';
...
和
$db2 = $this->EE->load->database('second_db', true);
另一答案
我已经弄清楚了。查询应包含额外的参数db_debug=1
,因此dsn字符串应如下所示
$dsn = "mysql://$vars[username]:$vars[password]@$vars[hostname]/$vars[database]?db_debug=1";
另一答案
如果您阅读了codeigniter用户指南,您将轻松找到答案。标题是
连接到多个数据库
https://www.codeigniter.com/user_guide/database/connecting.html
以上是关于如何使用codeigniter创建另一个数据库连接的主要内容,如果未能解决你的问题,请参考以下文章
如何在文本字段中回显创建另一个用户数据的用户?在php codeigniter中,我是一个新手,希望有人可以提供帮助
如何在codeigniter普通mysql和自定义pdo中运行并发数据库连接[重复]