我正在使用Windows XP并使用EasyPHP作为服务器。我已将Codeigniter与TankAuth集成在一起。但是,当我尝试打开我的赋值文件夹时,它显示错误如下:
Unable to select the specified database: project
Filename: C:\Program Files\EasyPHP-12.1\www\assignment\system\database\DB_driver.php
Line Number: 140
我的数据库.php中的代码如下“
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root123';
$db['default']['database'] = 'project';
$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;
我已经检查了我的database.php,里面有我的数据库名称为'project'。
我尝试使用主机名作为'localhost'和'127.0.0.1',但没有一个工作。
我已将默认控制器设置为'auth',即TankAuth的默认控制器。
并在'auth'控制器中的构造中初始化了'database'库。
刚才我使用Wamp Server尝试了同样的事情。但是,得到了相同的结果。
在某处我读到我应该尝试制作$db['default']['pconnect']
和
$db['default']['db_debug']
至FALSE
。但它没有用。
所有访问权限都已授予数据库'project'。
我应该尝试使其有效吗?
提前致谢...
答案 0 :(得分:20)
我遇到了类似的问题,但不幸的是,任何网站上的答案都没有帮助。奇怪的是,我很容易使用简单的PHP连接到MySQL,但在CodeIgniter中,我收到了这条消息。
最后这解决了我的问题。打开application/config/database.php
文件并更改以下行:
$db['default']['dbdriver'] = 'mysql';
要:
$db['default']['dbdriver'] = 'mysqli';
这一天转移到mysqli
。
答案 1 :(得分:11)
错误表明它已成功连接到您的数据库软件,但找不到名为project
的指定数据库。检查数据库连接并确保它们都正确 - 听起来您的数据库名称应该是assignment
。
编辑:检查以确保您登录的数据库用户也有权访问指定的数据库。
答案 2 :(得分:2)
也许这会在某个时候拯救某人 - 我使用的是cPanel,并且它有一定的规则,即用户必须绑定到数据库才能访问它。我得到了同样的错误,但由于我没有权限,我无法访问它。
在cPanel中转到MySQL数据库,找到您的用户并将此用户添加到您的数据库中。
答案 3 :(得分:1)
试试这个:只需刷新数据库软件。如果您使用的是PHPMy Admin,请刷新页面并尝试加载PHP页面。 或者如果您的数据库中有任何存储过程,这可能会导致问题。 尝试删除存储过程。
答案 4 :(得分:0)
Notice: SQL safe mode in effect – ignoring host/user/password information in
mysql_connect(): SQL safe mode in effect – ignoring host/user/password information in
This is caused due to your php.ini sql safe mode settings.
Login your php.ini file.
Go php.ini from apache and turn off sql.safe mode.
[SQL]
sql.safe_mode = Off
Restart apache