你可以在任意你需要的方法中添加以下代码来连接你的数据库,或者在你类的构造函数中去设置一个可用的全局参数。
$db = \Config\Database::connect();
如果上面的函数没有指定第一个参数,它将使用数据库配置文件中指定的组来链接数据库。对于大多数人而言,这是首选的方案。
- 数据库组名,一个必须与配置类的属性名匹配的字符串。默认值为 $config->defaultGroup;
- TRUE/FALSE (boolean). 是否返回共享连接(参考下文的连接多个数据库)。
这个函数的第一个参数是 可选的,被用来从你的配置文件中指定一个特定的数据库组。例如:
从你的配置文件中选择一个特定的组:
$db = \Config\Database::connect('group_name');
其中 group_name 是你配置文件中连接组的名字。
默认情况下,connect()
方法每次返回数据库连接的同一实例。若你需要一个单独的连接到同一数据库,发送 false
作为第二个参数:
$db = \Config\Database::connect('group_name', false);
如果你需要同时连接到多个不同的数据库,你可以这样:
$db1 = \Config\Database::connect('group_one'); $db = \Config\Database::connect('group_two');
注意: 将 "group_one" 和 "group_two" 修改为你想要的连接的组名称
.. 注解:: 如果只需要在同一连接上使用不同的数据库,则不需要创建单独的数据库配置。当你需要时,可以切换到不同的数据库,例如: | $db->dbSelect($database2_name);
当你在处理一些重量级的 PHP 操作时(例如处理图像),若超过了数据库的超时值,你应该考虑在执行后续查询前先调用 reconnect() 方法向数据库发送 ping 命令,这样可以优雅的保持连接有效或重新建立起连接。
.. 重要:: 若你使用 MySQLi 数据库驱动,reconnect() 方法不能 ping 通服务器但可以关闭连接然后再次连接。
$db->reconnect();
虽然 CodeIgniter 可以智能的管理并自动关闭数据库连接,你仍可以用下面的方式来关闭连接。
$db->close();