要在codeigniter中让数据库一启动就自动可用,必须在autoload.php中将'database'加入$autoload['libraries']数组,并确保database.php中default连接组配置完整,验证时$this->db应输出ci_db_mysqli_driver对象。

要在CodeIgniter中让数据库一启动就自动可用,不用每次手动加载,必须启用自动连接功能,否则控制器或模型里调用 $this->db 会报错“Call to a member function on null”。
修改 autoload.php 配置文件
打开 application/config/autoload.php 文件,找到 $autoload['libraries'] 数组。
将 'database' 添加进该数组中,例如:$autoload['libraries'] = array('database');。
这一步是强制前提——【不加这行,后续所有数据库操作都会失败】,因为CI不会在请求开始时主动初始化数据库类。
确认 database.php 中配置已存在
检查 application/config/database.php 是否已正确定义了 $db['default'] 连接组。
确保其中至少包含 'hostname'、'username'、'password' 和 'database' 四项有效值,空密码可留空字符串但不能删掉该键。
如果 $active_group 被显式设为其他名称(如 'production'),请确认该名称对应的 $db['production'] 实际存在且配置完整。
验证自动连接是否生效
在任意控制器的构造函数或方法中直接写:var_dump($this->db);。
若输出一个 CI_DB_mysqli_driver(或其他驱动)对象,说明自动连接已成功加载。
若输出 null 或报错 Trying to get property 'xxx' of non-object,请返回第一步检查 autoload.php 是否漏写引号或逗号。










