我在 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($result))
{
$id = $row['id'];
$user = $row['usrname'];
}
echo "$user";
?>
但总是返回:“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。”
我该怎么办?
- 我没有root权限
- 我正在尝试在 Apache 上运行脚本
最佳答案
调试这类东西时,最好先确保可以使用命令行 mysql 工具进行连接,以排除与 PHP 本身相关的问题。
$ mysql -u myuser -h mysql.example.com -p
您还会收到更具描述性的错误消息,例如错误 1045 (28000):用户 'root'@'remote.example.com' 的访问被拒绝(使用密码:YES)
如果 mysql 端口一开始就在公共(public)接口(interface)上打开(这通常是一个糟糕的想法),mysql 本身有它自己的基于连接主机的访问控制层。您可能需要专门使用通配符主机名创建一个帐户,如下所示:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
@'%'
部分,特别是允许来自任何主机的连接,本地或远程。
一旦您可以从命令行成功连接,接下来就是将命令行参数复制为 mysql_connect()
关于php - 通过PHP访问远程数据库MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5602369/