CodeIgniter错误 - 无法使用提供的设置连接到数据库

时间:2014-03-20 12:53:01

标签: php mysql codeigniter

我是PHP和CodeIgniter的新手,我正在尝试使用codeIgniter的MVC模式从mysql表中获取数据。

我的模特课是:

<?php

class News_Model extends CI_Model
{

    public function _construct()
    {
        $this->load->database();
    }

    public function get_news($id)
    {
        if($id!=FALSE)
        {
            $query= $this->db->get_where('news', array('id' => $id));
            return $query->row_array();
        }
        else
        {
            return FALSE;
        }   
    }

}


 ?>

我的database.php文件是:

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

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'user';
$db['default']['dbdriver'] = 'mysql';
$db['default']['port'] = '3306';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$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;

但是当我运行我的文件时,它显示以下错误:

Unable to connect to your database server using the provided settings.

Filename: C:\wamp\www\codeignite\system\database\DB_driver.php

Line Number: 124

我的mysql启动并运行,但我仍无法找出导致此错误的原因。

5 个答案:

答案 0 :(得分:5)

仅用于调试您的问题:

转到system/database/mysql/mysql_driver并在db_connect方法中删除@ @mysql_connect($this->hostname, $this->username, $this->password, TRUE);

这会告诉你ddbb连接有什么问题,现在你会遇到什么问题。 之后,发布MySQL服务器错误。

答案 1 :(得分:1)

首先使用database.php末尾的脚本调试数据库连接

echo '<pre>';
print_r($db['default']);
echo '</pre>';

或者你可以改变

  

$ db [&#39;默认&#39;] [&#39; pconnect&#39;] = TRUE; - &GT; $ db [&#39;默认&#39;] [&#39; pconnect&#39;] = FALSE;

在/application/config/database.php

答案 2 :(得分:1)

不知道它是否是复制粘贴错误,或者它对您的问题非常重要,但您在模型构造函数中只有一个下划线。

你应该这样尝试

 public function __construct()

我知道这可能是一个评论但我无法发表评论。

答案 3 :(得分:1)

请在托管上设置文件database.php的用户名和密码,没问题。

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'abaccc';
$db['default']['password'] = 'abaccc123';
$db['default']['database'] = 'abaccc';
$db['default']['dbdriver'] = 'mysql';

答案 4 :(得分:1)

只需运行你的mysql服务器。我有这样的错误。我运行我的mysql服务器,如果你已经安装它,请转到服务 - &gt; MySQL的/的mysqld / mysql2 /

或类似mysql的东西..选择自动并开始。