MySQL数据库的用户被拒绝访问


Access denied for user on MySQL database

我的网站上有两个数据库的单个用户。第一个和旧的数据库DB_A是真正的数据库,而新的DB_B只是用于测试目的。

我的用户,我们叫它USER_X,拥有所有权限(除了'DROP'),我确信我的用户名,密码和数据库名在PHP中都是正确的。

连接到DB_A时抛出if(!mysql_select_db($dbname)) echo mysql_error();我什么也没得到,换句话说,一切正常。

当连接到DB_B并抛出相同的东西时,我得到Access denied for user 'USER_X'@'localhost' to database 'DB_B' .

再一次,我确信我的凭据是正确的,并且我拥有DB_B数据库的所有特权。

有人知道这里发生了什么吗?

谢谢!

编辑:

PHP v.5.2.17

MySQL v.5.0.96

不支持使用MySQLi - http://www.php.net/manual/en/book.mysqli.php - MySQL

看看你的实际代码真的很有用!

无论如何,以下内容来自http://www.php.net/manual/en/mysqli.connect-error.php

我建议尝试他们,如果你仍然得到一个错误,然后检查用户名,密码和数据库拼写是ok的。

面向对象风格

$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');
// Works as of PHP 5.2.9 and 5.3.0.
if ($mysqli->connect_error) {
     die('Connect Error: ' . $mysqli->connect_error);
}
<<p> 程序风格/strong>
 $link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');
 if (!$link) {
     die('Connect Error: ' . mysqli_connect_error());
 }