mysql_connect():用户“用户”@“主机”的访问被拒绝(使用密码:否)


mysql_connect(): Access denied for user 'user'@'host' (using password: NO)

我知道这个问题被问了很多,但由于修复是情境性的,所以我问这个问题。

错误:mysql_connect():用户"用户名"@'boscustweb0406.eigbox.net'的访问被拒绝(使用密码:否)

所以我有一个脚本,我想在我的共享服务器上安装。 该脚本可以自行创建数据库,但我不允许在此服务器上执行此操作,因此我必须手动创建它。

它在错误页面上突出显示了此行:

67             $userName = $this->userName;
68             $password = $this->password;
69             $databaseName = $this->databaseName;
70             
71             /*$connection = new CDbConnection($localhost,$userName,$password);
72             $connection->active=true;
73             $sql = "SHOW DATABASES LIKE $databaseName";
74             $command = $connection->createCommand($sql);
75             $rowCount=$command->execute();  */
76             
77             //$command = $connection->createCommand($sql);
78             
79             $con = mysql_connect($localhost,$userName,$password);
80             if (!$con)
81             {
82                 $this->addError('databaseName','Database already exist');
83             }
84             else 
85             {
86                     if(mysql_select_db($databaseName))
87                     {
88                         $this->addError('databaseName','Database already exist');
89                         return false;
90                     }
91             }

我已经检查并仔细检查了所有细节,它们是正确的。

这是我的验证模型:

50             $userPassword = base64_encode($_POST['InstallForm']['userPassword']);
51             $name = $_POST['InstallForm']['name'];
52             $compnyName = $_POST['InstallForm']['compnyName'];
53             $language = $_POST['InstallForm']['language'];
54             $timeZone = $_POST['InstallForm']['timeZone'];
55             if($model->validate())
56             {
57                 $con = mysql_connect($hostName,$userName,$password);
58                 $dat = "CREATE database $databaseName";
59                 
60                 $controlVal = '$controllername';

您可以在此处复制问题:http://staging-sendy.elionweb.com/

使用主机 elionweb.ipagemysql.com,然后在其他字段中输入所需的任何其他内容,您将收到相同的错误。

成功地将脚本安装到我的本地计算机上,没有任何错误,所以希望这里有人可以帮助我解决这个问题。

"使用密码:否"行告诉我您的$password变量为空。

然后我查看了您的代码,似乎表单上的属性名称和您的验证模型不匹配。在您的表单上(使用您提供的链接),我看到:name="InstallForm[密码]",但在您的验证模型中,此代码如下所示:$userPassword = base64_encode($_POST['安装表单']['用户密码']);仔细观察,您会发现"密码"与"userPassword"不匹配。

还有一些

其他不匹配的属性。您的表单具有:name="InstallForm[用户名]"。但是您的验证模型具有:$name = $_POST['安装表单']['名称'];

此外,属性"compnyName"似乎拼写错误,但似乎您在整个代码中拼写错误,因此可能不会引起任何问题。