首页 > 解决方案 > 修复 SQLSTATE[HY000] [1045] 用户 'username'@'localhost' 的访问被拒绝(使用密码:YES)

问题描述

即使身份验证正确,也不会连接到 MySQL 服务器,这是我连接数据库的代码:

<?php

namespace App\Core;


use PDO;
use PDOException;

class Db extends PDO
{
    
    private static $instance;

    private const DBHOST = 'localhost';
    private const DBUSER = 'user';
    private const DBPASS = 'passe';
    private const DBNAME = 'bloghkjw_dbname';



    private function __construct()
    {
        
        // DSN de connexion
        $_dsn = 'mysql:dbname='. self::DBNAME . ';host=' . self::DBHOST;

       
        try{
            parent::__construct($_dsn, self::DBUSER, self::DBPASS);

            $this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');
            $this->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }catch(PDOException $e){
            die($e->getMessage());
            //var_dump($e->getMessage());
        }
    }


    public static function getInstance():self
    {
        if(self::$instance === null){
            self::$instance = new self();
        }
        return self::$instance;
    }


    public function __destruct()
    {
       
    }

}

标签: phpmysql

解决方案


推荐阅读