繁体   English   中英

mysql 错误 SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 的访问被拒绝(使用密码:NO)

[英]mysql error SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

我对 php 比较陌生,并且一直在关注初学者项目的教程。 该项目包括一个使用 DBO object 和 mysql 的数据库。我正在使用 MAMP 运行 php。当我尝试运行我的项目时,它给出了标题中的错误。 这是我的数据库设置代码:

<?php
  $dsn = 'mysql:host=localhost;dbname=assignment_tracker';
  $username = 'root';

  try {
    $db = new PDO($dsn, $username);
  } catch (PDOException $e) {
    $error = "Database Error: ";
    $error .= $e->getMessage();
    include('view/error.php');
    exit();
  }

我能够进入 phpmyadmin 页面。 查看 mysql 数据库中的用户表显示: 在此处输入图像描述

我在 php.ini 文件中的端口是 8889。(我的 apache 端口是 8888 但我的 mysql 是 8889 不知道应该设置为哪个。)查看这个网站上的其他答案对我来说真的很困惑所以任何帮助都会不胜感激。

尝试将 mysql 的端口添加到$dns并添加密码(如果它不为空)作为连接的一部分。 尝试这个

<?php

$dsn      = 'mysql:host=127.0.0.1;port=8889;dbname=assignment_tracker';
$username = 'root';
$password = '';

try{
    $db = new PDO($dsn, $username, $password);
}catch (PDOException $e){
    $error = "Database Error: ";
    $error .= $e->getMessage();
    include('view/error.php');
    exit();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM