2014-07-03 39 views
0

这是我当前的场景
1.我使用Cpanel进行Live Shared Hosting。
2.当我试图使用连接到数据库以下配置
Cpanel上的Codeigniter数据库连接错误

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'user_dbuser'; 
$db['default']['password'] = 'password'; 
$db['default']['database'] = 'user_dbname'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['port'] = '3306'; 
$db['default']['pconnect'] = FALSE; 
$db['default']['db_debug'] = FALSE; 
$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'] = FALSE; 
$db['default']['stricton'] = FALSE; 

它给了错误信息,如:

An Error Was Encountered 
Your application/config/database.php file does not appear to contain a valid configuration array. 


所以为了查找错误,我放在下面代码靠近config/database.php的末尾。

$OK = mysql_select_db ($db['default']['database']); 
if ($OK) // 
{ 
// Nothing required, everything OK 
// fred($db['default'], 'Database setting --> $db["default"]'); 
}else{ 
echo '<h1>Something terrible has happened</h1>'; 
echo '<pre>'; 
    echo $db['default']; 
echo '</pre>'; 
die; 
} 

这给出了以下输出。

A PHP Error was encountered 
Severity: Warning 

Message: mysql_select_db(): Access denied for user 'taxac'@'localhost' (using password: NO) 

Filename: config/database.php 

Line Number: 69 

A PHP Error was encountered 
Severity: Warning 

Message: mysql_select_db(): A link to the server could not be established 

Filename: config/database.php 

Line Number: 69 

Something terrible has happened 


A PHP Error was encountered 

Severity: Notice 
Message: Array to string conversion 
Filename: config/database.php 
Line Number: 77 

Array 

我请你,请注意上述错误

行 “访问被拒绝的用户 'taxac' @ 'localhost' 的(使用密码:NO)”

为什么不使用密码以及如何使其使用“密码”

为了验证凭据

,我试着用下面的脚本

// TRY TO LOGIN WITH SIMPLE PHP NATIVE SCRIPT 
$link = mysql_connect 
(
$db['default']['hostname'], 
$db['default']['username'], 
$db['default']['password'] 
); 

if (!$link) { 
die('Not connected : ' . mysql_error()); 
} 
else echo "MySQL connected"; 


// check the current db 
$db_selected = mysql_select_db($db['default']['database'], $link); 
if (!$db_selected) { 
die ('Can\'t use <b>' .$db['default']['database'] .'</b> : ' . mysql_error()); 
} 
else die('database is selected'); 

连接到MySQL,并与下面的输出成功

MySQL Connected. 
database is selected 

所以我相信

1 。我提供的DB凭证是正确的**
** 2。我选择了正确的sql扩展

** 3。错误以某种方式与下列错误行第四输出上面**

“访问被拒绝的用户 'taxac' @ 'localhost' 的(使用密码:NO)”

所以,请帮助如何使它使用密码连接到数据库。

+0

这个从localhost输出还是从live? –

+0

如果您正在连接实时服务器,那么您将看到对于数据库名称,数据库用户在输入数据库名称,数据库用户名之前,已经生成了一些前缀。因此,请使用带有完整前缀的数据库名称,数据库用户名。您不需要注销该端口。它会工作。如果它不起作用,请告诉我。 – user3470953

+0

上面的输出是从一个活的主机,我正在使用数据库名称和DB用户名正确和完整的前缀,你可以看到我能够通过简单的PHP脚本连接。 –

回答

0

尝试注释掉

$db['default']['port'] = '3306'; 

,如果不工作检查整理和字符设置。

+0

不需要注释掉端口号,而是需要使用数据库名称,数据库用户名,无论带有完整前缀。 – user3470953