这是我当前的场景
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)”
所以,请帮助如何使它使用密码连接到数据库。
这个从localhost输出还是从live? –
如果您正在连接实时服务器,那么您将看到对于数据库名称,数据库用户在输入数据库名称,数据库用户名之前,已经生成了一些前缀。因此,请使用带有完整前缀的数据库名称,数据库用户名。您不需要注销该端口。它会工作。如果它不起作用,请告诉我。 – user3470953
上面的输出是从一个活的主机,我正在使用数据库名称和DB用户名正确和完整的前缀,你可以看到我能够通过简单的PHP脚本连接。 –