通过PHP访问远程数据库MySQL
我在000webhost.com上设置了一个MySQL数据库。我想通过PHP访问数据库中的数据。我试过:通过PHP访问远程数据库MySQL,php,mysql,Php,Mysql,我在000webhost.com上设置了一个MySQL数据库。我想通过PHP访问数据库中的数据。我试过: <?php include("connect.php"); mysql_select_db("XXXXXXX_users", $con) or die(mysql_error()); $result = mysql_query("SELECT * FROM data ORDER BY id DESC"); while($row = mysql_fetch_array($resu
<?php
include("connect.php");
mysql_select_db("XXXXXXX_users", $con) or die(mysql_error());
$result = mysql_query("SELECT * FROM data ORDER BY id DESC");
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$user = $row['usrname'];
}
echo "$user";
?>
但它总是返回为:“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。”
我该怎么办
- 我没有根访问权限
- 我正在尝试在Apache上运行脚本
$ mysql -u myuser -h mysql.example.com -p
您还将收到一条更具描述性的错误消息,例如错误1045(28000):用户'root'@'remote.example.com'的访问被拒绝(使用密码:YES)
如果mysql端口一开始就在公共接口上打开(这通常是一个糟糕的想法),mysql本身就有自己的基于连接主机的访问控制层。您可能需要创建一个专门使用通配符主机名的帐户,如下所示:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
具体而言,@“%”
部分允许从任何本地或远程主机进行连接
一旦您可以成功地从命令行连接,那么将命令行参数作为参数复制到
mysql\u connect()
就成了一个简单的问题。在调试这类事情时,最好首先确保您可以使用命令行mysql工具进行连接,以排除与PHP本身相关的问题
$ mysql -u myuser -h mysql.example.com -p
您还将收到一条更具描述性的错误消息,例如错误1045(28000):用户'root'@'remote.example.com'的访问被拒绝(使用密码:YES)
如果mysql端口一开始就在公共接口上打开(这通常是一个糟糕的想法),mysql本身就有自己的基于连接主机的访问控制层。您可能需要创建一个专门使用通配符主机名的帐户,如下所示:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
具体而言,@“%”
部分允许从任何本地或远程主机进行连接
一旦您可以成功地从命令行连接,那么将命令行参数作为参数复制到
mysql\u connect()
connect.php中的内容就是一个简单的问题了。除了连接问题(您应该首先解决这个问题)之外,您的while
循环中的赋值也有问题。实际上,echo总是只输出id最大的用户名。connect.php
中有什么?除了您的连接问题(您应该首先解决这个问题),您的while
循环中的赋值有问题。事实上,echo总是只输出id最大的用户名。谢谢,他们的端口已经关闭,所以哦,好吧。你以后也可以授予newdatbase上的所有权限。*给“用户名”@“%”,由带有授予选项的“密码”标识代码>和刷新权限代码>,用于数据库选择,如果它给您错误。谢谢,他们已经关闭了他们的端口,所以很好。您以后也可以使用GRANT选项将newdatbase.*上的所有特权授予“用户名”@“%”,由“密码”标识代码>和刷新权限代码>,用于数据库选择,如果它给您错误。