gpt4 book ai didi

php - 从 Android 连接到 PHP 和 MySQL

转载 作者:行者123 更新时间:2023-11-29 08:42:25 24 4
gpt4 key购买 nike

我想从我的 Android 应用程序连接到数据库,并且找到了一个教程来做到这一点 ( link to tutorial )。

当我在模拟器中使用它时它工作正常,但当我尝试在手机上使用它时却不行。我尝试过使用 WAMP 服务器,在该服务器上进行了端口转发,并且尝试过使用真正的 Web 主机 (000webhost)。模拟器与手机的唯一区别是 URL,我必须提供公共(public) IP 地址而不是 10.0.2.2。我还尝试过使用托管 WAMP 服务器的计算机的本地 IP。我知道一些网络主机会在代码中添加广告,但我很确定 WAMP 不会这样做。

当我使用手机时,我从 LogCat 收到以下错误:

Error parsing data org.json.JSONException: Value <html> of type java.lang.String cannot be converted to JSONObject

更新 1:

我尝试使用 cURL 来检查返回的内容。它返回很多(标题、背景颜色等),但我认为这很有趣:

Access denied for user 'root'@'localhost' (using password: NO) in C:\wamp\www\android_connect\db_connect.php on line <i>28</i></th></tr>

似乎无法访问数据库,但我可能是错的?

当我使用 cURL 访问 localhost 时,它会从数据库返回正确的项目,而不是像具有公共(public) IP 的服务器那样返回所有 html 代码。

更新 2:

我解决了公共(public) WAMP 服务器的问题。我是个菜鸟,忘记了我已经使用密码设置了服务器。

但是当我从浏览器使用网络主机 (000webhost) 时,我仍然收到此错误:

PHP Error Message

Warning: require_once(__DIR__/db_connect.php) [function.require-once]: failed to open stream: No such file or directory in /home/a7471305/public_html/android_connect/get_all_products.php on line 12

Free Web Hosting

PHP Error Message

Fatal error: require_once() [function.require]: Failed opening required '__DIR__/db_connect.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a7471305/public_html/android_connect/get_all_products.php on line 12

Free Web Hosting

我从 cURL 收到此错误:

<b>Fatal error</b>:  require_once() [<a href='function.require'>function.require
</a>]: Failed opening required '__DIR__/db_connect.php' (include_path='.:/usr/li
b/php:/usr/local/lib/php') in <b>/home/a7471305/public_html/android_connect/get_
all_products.php</b> on line <b>12</b><br />

如何解决这个问题?

最佳答案

看起来您正在访问的 URI 返回的是 HTML 文档而不是 JSON。在 Web 浏览器中导航到 URI 或使用 CURL 查看它返回的内容。

正如其他几个人所提到的,PHP 可能会显示错误,或者您可能会收到 Web 服务器错误(类似于 404 或 500)。

一些免费网络主机将广告注入(inject) HTML 响应中,这可能会导致调试和生产之间出现差异。您可能希望将 Response-Type header 设置为 application/json,这可能会避免任何干扰。

例如:

// This must go before any output has started, I.E. at the 
// beginning of the first loaded document
header('Content-type: application/json');

关于php - 从 Android 连接到 PHP 和 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13441891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com