簡體   English   中英

在第9行的C:\\ webdev \\ wamp \\ www \\ membershipSite \\ classes \\ Mysql.php中拒絕用戶'用戶名'@'localhost'(使用密碼:YES)

[英]Access denied for user 'username'@'localhost' (using password: YES) in C:\webdev\wamp\www\membershipSite\classes\Mysql.php on line 9

我是所有這一切的新手,但我確實知道相當數量的HTML / CSS。 我想創建一個登錄服務器,我從視頻中獲得了大部分代碼。 如果有人可以幫助我並徹底解釋,那么我可以理解,我將不勝感激。 如果需要任何其他東西我會很樂意發布它。

<?php

require_once 'includes/constants.php';

class Mysql {
private $conn;

function _construct() {
    $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database.');
}

function verify_Username_and_Pass($un, $pwd) {

    $query = "SELECT *
            FROM users
            WHERE username = ? AND password = ?
            LIMIT 1";

    if($stmt = $this->conn->prepare($query)) {
        $stmt->bind_param('ss', $un, $pwd);
        $stmt->execute();

        if($stmt->fetch()) {
            $stmt->close();
            return true;
        }
    }

}
}

您需要在mysql中向user @ host授予權限。 grant命令看起來像

grant all privileges on YOURDB.* to
'YOURUSER'@'localhost' identified by 'YOURPASSWORD';

只是一個側面的答案,因為我從我自己的問題得出這個答案,但有一個不同的解決方案因為我知道所有特權都給了有問題的用戶

我使用的代碼如

        <?php

        session_start();

        $db_host="host";
        $db_user="user";
        $db_pass="mypassword";
        $db_name="dbname";
        $db_table="tblname";

        mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
        mysql_select_db($db_name) or die(mysql_error());

這里的問題是我用過生成器的數據庫密碼包含了一個$符號,它混淆了腳本,並認為在啟動時有另一個變量

        $db_pass="mypass$word";

暫無
暫無

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

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