如何使用 php 和 Json 从表中删除数据?

我试图在我的应用程序中添加一个删除帐户选项,但是当我尝试删除该帐户时,我没有从 Web 服务器获得响应。


相反,我收到错误:


org.json.JSONException: End of input at character 0 of

我试图将请求方法更改为 DELETE 但是我不太熟悉 android 和数据库所以我不确定这是否可行。我不确定问题出在 php 还是 java 代码上,当我在 android studio 中运行调试器时,字符串响应返回:


response: ""

PHP:


<?php


if($_SERVER['REQUEST_METHOD']=='POST'){



$id = $_POST['id'];


require 'conn.php';



  $sql = "DELETE * FROM Patients WHERE patientID='$id'";


if(mysqli_query($conn, $sql)){


  $result['success'] = "1";

  $result['message'] = "success";

  echo json_encode($result);


  mysqli_close($conn);



} else {


  $result["success"] = "0";

  $result["message"] = "Error!";

  echo json_encode($result);

  mysqli_close($conn);


}

}

 ?>

我希望吐司弹出并说帐户已删除,但我却收到顶部的错误消息。

ps 这只是一个原型,所以我目前并不担心安全问题。


qq_遁去的一_1
浏览 75回答 1
1回答

小唯快跑啊

无论问题是什么,我都会猜测并说if($_SERVER['REQUEST_METHOD']=='POST')是您问题的根源。您的请求可能会被错误地发送到服务器,并且method不会被识别为POST可以解释""响应的原因,因为您没有提供在条件失败时应该发生的情况的替代方案。发回一个错误的请求响应 ( 400),您将能够在您的 Java 代码中解决这个问题……PHP 很好。if($_SERVER['REQUEST_METHOD']=='POST') { /* ... */ }else {&nbsp; http_response_code(400);&nbsp; // exit('Bad request method.');&nbsp; // or for a json response:&nbsp; echo json_encode([&nbsp; &nbsp; 'success' => "0",&nbsp; &nbsp; 'message' => "Bad Request Method used."&nbsp; ]);}另外,我不得不说......安全应该始终是一个问题......只需要多几行代码就可以过滤用户请求,并通过准备好的语句使您的查询更加安全。这更多是习惯问题;有一天,您可能会在这里或那里忘记查询。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java