我一直在做本地主机上网络,当我试图把它移到主机它显示我很多的错误。好像它无法连接到我的本地数据库。下面的代码:

$host = "myip";
$user = "root";
$pass = "";
$db = "mydatabase";

mysql_connect($host, $user, $pass);
mysql_select_db($db);
$on = mysql_fetch_row(mysql_query("SELECT COUNT(online) FROM characters WHERE online=1"));
echo "<br>Online: $on[0]<br><br>";

和这里的输出:

Warning: mysql_connect() [function.mysql-connect]: Host 'myip' is not allowed to connect to this MySQL server in * on line 46

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in * on line 48

Online: 

感谢您的帮助

有帮助吗?

解决方案

这是一个MySQL用户权限的问题。与phpMyAdmin例如创建一个新用户,并设置它的主机如果从本地主机,或%如果从外部进行连接的连接到localhost。

其他提示

如Alekc正确地指出,这是一个问题的权限:

您可以在MySQL提示符做到这一点:

grant all privileges on mydatabase.* 
   to youruser@'your_ip_address' 
   identified by 'your_password';

随之而来的是:

flush privileges;

然后再次尝试重新连接。记住的是:

your_ip_adress:(?你的网络服务器),它的不可以 MySQL服务器的IP地址,但要从中进行连接的IP地址 your_password:您是建立在PHP侧的连接时,必须使用一个

还记得,即使这个解决方案应该工作,这是不建议授予的所有权限应用于将要由Web应用程序使用的用户。你可以做同样的用更少的权限。

您可以做到这一切与一个漂亮的GUI前端。我喜欢的命令行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top