Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter Can';不能在CI中使用数据库库_Codeigniter_Codeigniter 2 - Fatal编程技术网

Codeigniter Can';不能在CI中使用数据库库

Codeigniter Can';不能在CI中使用数据库库,codeigniter,codeigniter-2,Codeigniter,Codeigniter 2,由于某种原因,我无法使数据库库工作。任何时候我把$this->load->database()这行放进去;脚本停止执行而不返回任何错误 这是my database.php: $db['default']['hostname'] = '127.0.0.1'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'employee'; $db['defau

由于某种原因,我无法使数据库库工作。任何时候我把$this->load->database()这行放进去;脚本停止执行而不返回任何错误

这是my database.php:

$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'employee';
$db['default']['dbdriver'] = 'mysql';
$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;
这是我的模型:

class Customers_model extends CI_Model
{

    function __construct()
    {
        parent::__construct();
        //$this->load->database();
    }

    function add_customer($data)
    {
        echo "BEFORE CHECK";
        $this->load->database();
        echo "OK";
    }

}

正如我所说,它不会返回任何错误。因此,在这种情况下,屏幕将返回“检查前”,但不会返回“确定”。有什么想法吗?

尝试更改持久连接
$db['default']['pconnect']=TRUE
$db['default']['pconnect']=FALSE
或者您可以从
$config['log\u threshold']=4在配置文件中启用错误日志其中阈值选项:

  0 = Disables logging, Error logging TURNED OFF
  1 = Error Messages (including PHP errors)
  2 = Debug Messages
  3 = Informational Messages
  4 = All Messages

确保php.ini中有“error\u reporting=E\u ALL”以显示发生的任何错误

之后,如果您有错误的凭据,您应该看到错误类型

在CodeIgniter(CI)中,使用数据库非常容易

见:

尝试更改

$db['default']['hostname'] = '127.0.0.1';

同时确保输入密码

  • 你确定你处于“开发”模式吗?(请看
    index.php
    的开头)

  • 如果手动触发错误,会发生什么情况<代码>触发错误(“诸如此类”,E_用户错误)



编辑:问题可能是因为CodeIgniter掩盖了许多与SQL相关的错误(例如,请参见此)。调试代码的最简单的解决方案是安装并启用。

Ok,所以只要我在php.ini:extension=php_mysql.dll中取消注释这一行,看起来一切都开始正常工作


但是为什么它没有在CI中返回任何错误?

CodeIgniter在
autoload.php
开箱即用中加载数据库。它不会为我加载:$autoload['libraries']=array();这一点很好,但在我更改这些值后,没有任何变化。Thankserror_reporting=E|u ALL | E|u STRICT in my config fileNope,不起作用。我刚刚检查了我的phpinfo,看起来只有mysqlnd在那里。这应该是一个问题吗?
$db['default']['hostname'] = 'localhost';