7

我正在使用 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,在其中我的数据库名称为“项目”。

我尝试使用主机名作为“localhost”和“127.0.0.1”,但没有一个有效。

我已将默认控制器设置为“auth”,即 TankAuth 的默认控制器。

并在“auth”控制器的构造中初始化了“数据库”库。

刚才我使用 Wamp Server 尝试过同样的事情。但是,得到了同样的结果。

在某处我读到我应该尝试制作$db['default']['pconnect']

$db['default']['db_debug']FALSE. 但它没有用。

并且所有访问权限都已授予数据库“项目”。

有什么我应该尝试让它工作的吗?

提前致谢...

4

5 回答 5

20

我遇到了类似的问题,但不幸的是,任何网站上的答案都没有帮助。奇怪的是,我可以使用简单的 PHP 轻松连接到 MySQL,但在 CodeIgniter 中我收到了这条消息。

最后这解决了我的问题。打开application/config/database.php文件并更改以下行:

$db['default']['dbdriver'] = 'mysql';

到:

$db['default']['dbdriver'] = 'mysqli';

此转变为mysqli按日保存。

于 2013-08-03T05:44:10.480 回答
11

该错误表明它已成功连接到您的数据库软件,但找不到名为project. 检查您的数据库连接并确保它们都正确 - 听起来您的数据库名称应该是assignment

编辑:检查以确保您登录的数据库用户也有权访问指定的数据库。

于 2013-03-19T19:39:14.913 回答
2

也许这会在某个时候拯救某人——我使用的是 cPanel,它有一个特定的规则,即用户必须绑定到数据库才能访问它。我遇到了同样的错误,但是因为我没有权限,所以我无法访问它。

在 cPanel 中转到 MySQL 数据库,找到您的用户并将此用户添加到您的数据库中。

于 2016-02-28T01:11:40.677 回答
1

试试这个:只需刷新数据库软件。如果您使用的是 PHPMy Admin,请刷新页面并尝试加载您的 PHP 页面。或者如果您的数据库中有任何存储过程,这可能会导致问题。尝试删除存储过程。

于 2013-04-20T09:53:34.607 回答
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
于 2016-12-11T04:22:43.610 回答