在远程服务器上的MySql数据库上连接时出现问题

时间:2011-03-30 21:47:45

标签: php mysql

我一直在本地开发我的php mysql应用程序,它可以正常使用这个连接参数:

    // Database connection params
define('HOST', 'localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'some_db');

在某些时候我想通过连接参数在线申请:

define('HOST', 'somedomain.com');
define('USERNAME', 'some_db_admin');
define('PASSWORD', 'Password1!');
define('DATABASE', 'some_db');

当我尝试连接到这样的远程数据库时:

function db_connect()
{
    $connection = @mysql_connect(HOST, USERNAME, PASSWORD); 
    if(!$connection)
    {
        return false;
    }

    if(!mysql_select_db(DATABASE))
    {
        return false;
    }

    return $connection;
}

我收到错误: 用户'some_db'@'localhost'拒绝访问(使用密码:NO)

怎么可能是localhost?

我在cpanel中使用数据库向导定期创建数据库和用户数据库。

可能是什么问题?

非常感谢!

2 个答案:

答案 0 :(得分:0)

如果您的PHP代码与MySQL数据库所在的主机相同,那么将HOST设置为localhost可以解决您的问题

define('HOST','localhost');

答案 1 :(得分:0)

您似乎也交换了常量,因为some_db不太可能是用户而是数据库。尝试调试并在'mysql_connect'调用之前输出常量值。 如果这不起作用,请尝试使用debug_backtrace()。