出于某种原因,我无法使数据库库正常工作。任何时候我把行$ this-> load-> database();脚本停止执行而不返回任何错误。
这是我的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";
}
}
正如我所说,它不会返回任何错误。因此,在这种情况下,屏幕将返回" BEFORE CHECK"但它不会:"好的"。有什么想法吗?
答案 0 :(得分:0)
尝试将持久连接$db['default']['pconnect'] = TRUE;
更改为$db['default']['pconnect'] = FALSE;
或者您可以从$config['log_threshold'] = 4;
启用配置文件中的错误日志,其中阈值选项:
0 = Disables logging, Error logging TURNED OFF
1 = Error Messages (including PHP errors)
2 = Debug Messages
3 = Informational Messages
4 = All Messages
答案 1 :(得分:0)
确保php.ini中有'error_reporting = E_ALL'以显示发生的任何错误。
之后,如果您的凭据有错误,您应该会看到错误类型。
在CodeIgniter(CI)中使用数据库非常容易。
请参阅: http://ellislab.com/codeigniter/user-guide/database/examples.html
答案 2 :(得分:0)
尝试更改
$db['default']['hostname'] = '127.0.0.1';
到
$db['default']['hostname'] = 'localhost';
确保密码
答案 3 :(得分:0)
您确定自己处于开发阶段吗?模式? (查看index.php
)的开头
手动触发错误会怎样? trigger_error('blah blah', E_USER_ERROR);
编辑:问题可能是因为CodeIgniter会屏蔽许多与SQL相关的错误(例如,请参阅此recent issue)。调试代码的最简单方法是安装Xdebug并启用scream option。
答案 4 :(得分:0)
好的,所以当我在php.ini中取消注释这一行时,一切都开始正常工作:extension = php_mysql.dll
但是为什么它没有在CI中返回任何错误?