$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跟 用户名。 就打上中文了
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网