MySQL 连接失败。无法连接到 'http' 上的 MySQL 服务器 (4)

MySQL connect failed. Can't connect to MySQL server on 'http' (4)

我尝试使用 JSON 解析器将我的 android 应用程序连接到虚拟主机。但是每当我尝试连接时(即使只是在浏览器中使用 url 打开)我都会收到错误消息。

<?php
  $dbHost = 'http://sql4.000webhost.com/localhost';
  $dbUser = 'a6410240_cbetTD';
  $dbPass = 'xxxxxx';
  $dbName = 'a6410240_cbetTD';

  $conn = mysql_connect ($dbHost, $dbUser, $dbPass) or die ('MySQL connect failed. ' . mysql_error());
  mysql_select_db($dbName,$conn);
?>

这是我的 database.php 文件。完整的错误信息是

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'http' (4) in /home/a6410240/public_html/database.php on line 8.

我已经尝试更改 $conn,但它仍然对我不起作用。

谢谢

如果您的数据库和应用程序在 同一服务器 上,则使用 "locahost" in $dbhost.

并且如果您的数据库和应用程序位于不同的服务器上,那么您需要在中使用IP地址或主机名 $dbhost 数据库用户 应该添加到具有所需权限的数据库服务器上。

您遇到的问题已在其中一条评论中提及, 准确地说。

为了使您的解决方案有效,您需要做的就是省略开头的 http:// 部分,并可能省略结尾的 /localhost 部分。

主机只是您所指的域。在这种情况下 sql4.000webhost.com。使用 /localhost 你已经尝试连接到一个数据库,尽管你配置的数据库应该是 a6410240_cbetTD.

MySQL默认使用TCP端口3306 ($dbport) 和主机名或 IP 地址 ($dbhost)。对于LAMP (Linux-Apache-MySQL-php) 你可以找到很多教程。 通常 MySQL 服务器出于安全目的侦听内部端口(无法通过 Internet 访问)。 如果您熟悉 docker,您可以简单地从 hub.docker.com 下载 LAMP 解决方案的示例。