我的网站上有两个数据库的单个用户。第一个和旧的数据库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());
}