Codeigniter Can';不能在CI中使用数据库库
由于某种原因,我无法使数据库库工作。任何时候我把$this->load->database()这行放进去;脚本停止执行而不返回任何错误 这是my database.php: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
$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';