php - Codeigniter Cpanel 上数据库连接错误

标签 php mysql codeigniter cpanel

这是我当前的场景
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/

相关文章:

php - 用一个 "_"替换空格

PHP 通过引用传递问题

php - 如何使用数组中的所有值获取记录

php - Yii 2 ActiveDataProvider : extra field or column of balance calculation when doing query for dataProvider

mysql - 如何将 Amazon RDS mysql.slow_log 表引擎更改为 innodb

codeigniter - 如何通过 CodeIgniter 修复 facebook 中的 "Call to a member function getUser()"?

php - Codeigniter 表格后 403

php - 从我的 sql 表行中搜索至少一个逗号分隔值

php - 在流明中找不到特征 'App\HasApiTokens'

php - PHP克隆父子树,从子树开始避免无限递归