簡體   English   中英

mysql_connect():拒絕用戶“ user” @“ host”的訪問(使用密碼:NO)

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

我知道這個問題經常被問到,但是由於解決方法是有條件的,所以我要問這個問題。

錯誤: mysql_connect():拒絕訪問用戶'username'@'boscustweb0406.eigbox.net'(使用密碼:NO)

因此,我有一個腳本要安裝在共享服務器上。 該腳本可以自己創建數據庫,但不允許在該服務器上執行該操作,因此必須手動創建它。

它在錯誤頁面上突出顯示了這一行:

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 [password]”,但是在您的驗證模型中,此代碼如下:$ userPassword = base64_encode($ _ POST ['InstallForm'] ['userPassword'] ); 再仔細看看,您會發現“密碼”與“ userPassword”不匹配。

還有一些其他不匹配的屬性。 您的表單具有:name =“ InstallForm [userName]”。 但是您的驗證模型具有:$ name = $ _POST ['InstallForm'] ['name'];

另外,屬性“ compnyName”似乎拼寫錯誤,但似乎您在整個代碼中都拼寫了錯誤,因此可能不會引起任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM