1

我只是在设置一个新的 VPS 来学习设置我自己的 Web 服务器并坚持这个非常基本的步骤。

PHP 5.3.3
MySQL 5.1.61
CentOS release 6.2 (Final)

我可以在命令行使用 mysql 连接到服务器,或者使用 Navicat 远程连接到服务器,没有问题。我已将主机设置为 '%' 进行测试,因为 localhost 也不起作用。我尝试过使用“localhost”、IP 等。

Connect failed: Access denied for user 'stats'@'localhost' (using password: YES)

用户:

+-----------+---------+
| Host      | User    |
+-----------+---------+
| %         | stats   |
| 127.0.0.1 | root    |
| localhost | root    |
+-----------+---------+

我的代码:

<?php
    $mysqli = new mysqli("localhost", "user", "db", "pw");
?>

直接从命令行运行 php 脚本时出错(无 Web 服务器):

PHP Warning:  mysqli::mysqli(): (28000/1045): Access denied for user 'stats'@'localhost' (using password: YES) in /xxx/db.php on line 5
Connect failed: Access denied for user 'stats'@'localhost' (using password: YES)

通过 apache 运行时返回相同的值。

提前致谢。

4

3 回答 3

2

这一行:

$mysqli = new mysqli("localhost", "user", "db", "pw");

应该:

$mysqli = new mysqli("localhost", "user", "pw", "db");

密码位于数据库名称之前

于 2012-04-05T18:09:47.063 回答
0

你正在混合mysqlmysqli

编辑

检查您尝试连接数据库的用户的权限。

于 2012-04-05T18:03:58.997 回答
-1

您输入了正确的密码吗?检查密码

于 2012-04-05T18:07:53.487 回答