无法通过PHP连接到mysql,但从命令行工作正常

时间:2012-04-05 18:01:49

标签: php mysql centos

我正在设置一个新的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运行时会返回相同内容。

提前致谢。

3 个答案:

答案 0 :(得分:2)

这一行:

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

应该是:

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

密码出现在数据库名称

之前

答案 1 :(得分:0)

您正在混合mysqlmysqli

修改

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

答案 2 :(得分:0)

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