开发者社区> 问答> 正文

liunx-centos5.6-apache-x86部署php-CodeIgniter_2.1.4提示无法连接数据库

screenshot

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = '107.160.184.127';
$db['default']['username'] = 'root';
$db['default']['password'] = 'abc136268';
$db['default']['database'] = 'jyz';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$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['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;


<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class my_model extends CI_Model
{
    public function __construct()
    {
        parent::__construct();
        $this->load->database('default');
    }
}

screenshot

展开
收起
a123456678 2016-06-17 16:54:42 2248 0
1 条回答
写回答
取消 提交回答
  • 您倒是贴个配置文件,再贴个 model 连接数据库的代码呀……

    姑且一猜:

    在你的 database.php 里,是不是类似这样的?

    $db'default' = 'localhost';
    $db'default' = 'root';
    ...
    然后在你的 model 文件里是不是这样的?

    class Some_model extends CI_Model {

    function __construct() {

    parent::__construct();
    
    $this->load->database();    // 注意这里

    }
    看上面的注释,默认的 database group 叫做 default,所以 $this->load->database() 不传递参数就会读取默认值。如果你显式指明了组名称,比如 $this->load->database('groupname'),那么你就要对比一下看看 database.php 里组名写的是否正确了。

    这是在没有代码的前提下猜的,比较常见的错误,具体如何还是要看你代码的。

    2019-07-17 19:43:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载