我一直在本地开发我的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中使用数据库向导定期创建数据库和用户数据库。
可能是什么问题?
非常感谢!
答案 0 :(得分:0)
如果您的PHP代码与MySQL数据库所在的主机相同,那么将HOST设置为localhost可以解决您的问题
define('HOST','localhost');
答案 1 :(得分:0)
您似乎也交换了常量,因为some_db不太可能是用户而是数据库。尝试调试并在'mysql_connect'调用之前输出常量值。 如果这不起作用,请尝试使用debug_backtrace()。