这是我当前的场景
1. 我使用 Cpanel 进行 Live Shared Hosting。
2.当我尝试使用以下配置连接到数据库时
$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
我请求您注意上述错误中的行
"Access denied for user 'taxac'@'localhost' (using password: NO)"
为什么不使用密码以及如何使其使用“密码”。
为了验证凭据,我尝试使用以下脚本连接到 mysql
// 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 Connected.
database is selected
所以我确信
<强>1。我提供的数据库凭证是正确的 **
**2.我选择了正确的 sql 扩展
**3.错误与上面第四个输出中的以下错误行有某种关系 **
"Access denied for user 'taxac'@'localhost' (using password: NO)"
所以请帮助如何使其使用密码连接到数据库。
最佳答案
尝试注释掉
$db['default']['port'] = '3306';
如果这不起作用,请检查排序规则和字符设置。
关于php - Codeigniter Cpanel 上数据库连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555263/