【问题标题】:Correct PHP credentials for database leads to error signifying wrong credentials正确的数据库 PHP 凭据会导致表示错误凭据的错误
【发布时间】:2015-09-18 14:20:23
【问题描述】:

我创建了一个名为“demo”的数据库。 我设置了一个名为“用户名”的用户名。 我设置了一个名为“密码”的密码。 我连接到数据库。 我运行以下命令:

<?php
    define ('DB_NAME', 'demo');
    define ('DB_USER', 'username');
    define ('DB_PASSWORD', 'password');
    define ('DB_HOST', 'localhost');

    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

    if (!$link){
    die('Could not connect: ' . mysql_error());
    }
    $db_selected = mysql_select_db(DB_NAME, $link);
    if (!$db_selected){
        die('Can\'t use ' . DB_NAME . ':' . mysql_error());
    }
    echo 'Connected successfully';
    ?>

我收到以下错误。

警告:mysql_connect():第 101 行 C:\xampp\htdocs\PhpProject2\index.php 中的用户 'username'@'localhost' 的访问被拒绝(使用密码:YES) 无法连接:用户 'username'@'localhost' 的访问被拒绝(使用密码:YES)

我很困惑。我使用了正确的用户名和密码,但仍然无法连接,请问有什么问题可能出在哪里吗?

【问题讨论】:

  • 因为您输入了错误的凭据
  • 我认为您错过了为用户和数据库提供正确权限的步骤。 101行代码你能写出来吗?
  • 您可以看到我输入了正确的凭据。这是第 101 行 $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);附:当我在没有密码的情况下尝试此操作时,它可以工作.. 但我想要一个密码
  • @MarcosPérezGude 是的,我想我错过了那一步,但我不知道在哪里可以找到它。我会寻找它
  • 如果没有密码它可以工作,你的用户还没有分配密码。不是 PHP 问题,是 MySQL 配置错误。这些是步骤: 1)创建数据库。 2)创建用户。 3) 授予应用到数据库的用户权限。 4) 连接和享受。

标签: php database


【解决方案1】:

您确定此凭据正确吗?或者,是否有此用户权限执行此操作?

如果您的用户没有密码,请参阅this

SET PASSWORD [FOR user] = password_option

password_option: {
    PASSWORD('auth_string')
  | OLD_PASSWORD('auth_string')
  | 'hash_string'
}

例子

SET PASSWORD FOR 'username'@'localhost' = PASSWORD('password');

可以使用Grant设置权限

GRANT ALL ON demo.* TO 'username'@'localhost';

【讨论】:

  • 是的,有一个密码,它是“密码”。如何设置用户权限?
  • 我已经更新了我的帖子,授予允许设置权限
【解决方案2】:

您可能必须在 MySQL 数据库上向该用户授予 GRANT 权限

【讨论】:

    猜你喜欢
    • 2019-12-02
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2013-08-31
    • 2017-09-23
    • 1970-01-01
    相关资源
    最近更新 更多