正确的数据库PHP凭据导致错误表示错误的凭据

时间:2015-07-01 12:18:30

标签: php database

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

<?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中的用户'用户名'@'localhost'(使用密码:YES)拒绝访问   无法连接:用户'用户名'@'localhost'拒绝访问(使用密码:是)

我感到困惑。我正在使用正确的用户名和密码,但仍然没有连接,问题可能存在的任何想法?

2 个答案:

答案 0 :(得分:2)

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

如果您的用户没有密码,请参阅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';

答案 1 :(得分:1)

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