我需要你的建议。我在php中创建API以与我的android应用程序和mySQL数据库进行通信。现在我想把这个api放在免费在线托管与免费数据库,问题是,当我查询该API我收到我的json数据与垃圾从托管像HTML标签和商业文本“[托管名称]免费托管” 。当我的应用收到此数据时,它会关闭。在本地wamp服务器上一切正常,但在线托管我的应用程序崩溃
我有3个问题
查看部分示例用户注册php代码
$new_sql_select_query = "select * from userinfo where userName like '$userName' and userEmail like '$userEmail';";
$sql_all_data = mysqli_query($con, $new_sql_select_query);
$userDataJson = array();
while ($row = mysqli_fetch_array($sql_all_data)) {
$userDataJson["userId"] = $row["userId"];
$userDataJson["userName"] = $row["userName"];
$userDataJson["userEmail"] = $row["userEmail"];
$userDataJson["accountBalance"] = $row["accountBalance"];
}
$responseJson["success"] = 1;
$responseJson["message"] = "User correctly added to base!";
array_push($responseJson["user"], $userDataJson);
echo json_encode($responseJson);
我有一个想法,但我不知道如何正确地做到这一点。我正在通过以下代码生成一个新的json数据文件
$myjson = json_encode($responseJson);
file_put_contents('myfile.json', $myjson);
但是这是另一个问题,我的应用程序需要以某种方式重定向到这个新文件,因为现在我的应用程序直接连接到特定的php文件,在这种情况下CreateNewUserDB.php所以我该怎么做?我应该将此生成的json文件的链接返回到我的应用程序,然后进行另一次连接,但这一次是这个“myfile.json”文件吗?等待答案。 问候
答案 0 :(得分:0)
您的应用可能崩溃的原因是当您在localhost上向您的应用发送响应时,只会发送json数据。但正如你在免费托管上所说,你得到了一些HTML。当你的java代码试图从中生成一个json对象时,它必须抛出异常,从而导致错误。
有很多免费托管,这是好的,不做这些类型的广告。 https://www.biz.nf/就是其中之一。我早年就用过它。付费托管也不会给你这样的问题
答案 1 :(得分:0)
我鼓励您使用Firebase,它将为您处理所有后台工作人员,并且它还允许您访问数据库,除此之外,它与常规数据库相比非常快。
答案 2 :(得分:0)
这是一个旧线程,但是最近我遇到了类似的问题。
我在共享主机中上传了php json api,并通过在php文件中添加json的标头来解决了设置正确格式的问题:
header('Content-Type: application/json');