欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php远程连接服务器报错。

程序员文章站 2022-05-19 19:01:46
...
        $host = '远程服务器ip';	$root = '用户名';	$pwd = '密码';		$con = @mysql_connect($host,$root,$pwd);	mysql_query("set names 'utf8'");	@mysql_select_db("XS_CQC", $con) or die(mysql_error());

我连接本地的数据库是正常,但是连接远程的话报这个错误。

Access denied for user 'ODBC'@'localhost' (using password: NO)

这个是什么意思?


回复讨论(解决方案)

现在是 代码在一个服务器, 数据库在另外一个服务器。
是不是我的代码有问题?

远程连接 MySQL,需要对方授权

链接远程数据库的帐号要有远程链接的权限
在数据库中执行
> GRANT ALL PRIVILEGES ON 数据库名称.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

这样就可以了

    $host = 'localhost';    $root = 'ODBC';    $pwd = '';        $con = @mysql_connect($host,$root,$pwd);     mysql_query("set names 'utf8'");    @mysql_select_db("XS_CQC", $con) or die(mysql_error());


敢问你的源代码是这么写的么.. 不是连远程服务器么. 你的ip和用户密码貌似都没改.

没有链接权限,
在对方的mysql 数据库中需要什么访问权限。
在phpmyadmin中设置user,host

    $host = 'localhost';    $root = 'ODBC';    $pwd = '';        $con = @mysql_connect($host,$root,$pwd);     mysql_query("set names 'utf8'");    @mysql_select_db("XS_CQC", $con) or die(mysql_error());


敢问你的源代码是这么写的么.. 不是连远程服务器么. 你的ip和用户密码貌似都没改.

源码就是上面写的远程服务器的IP,只是不方便透漏服务器的IP跟 用户名。 就打上中文了