我試圖在我的應用程序中添加一個刪除帳戶選項,但是當我嘗試刪除該帳戶時,我沒有從 Web 服務器獲得響應。相反,我收到錯誤:org.json.JSONException: End of input at character 0 of我試圖將請求方法更改為 DELETE 但是我不太熟悉 android 和數據庫所以我不確定這是否可行。我不確定問題出在 php 還是 java 代碼上,當我在 android studio 中運行調試器時,字符串響應返回:response: ""PHP:<?phpif($_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 這只是一個原型,所以我目前并不擔心安全問題。
1 回答

小唯快跑啊
TA貢獻1863條經驗 獲得超2個贊
無論問題是什么,我都會猜測并說if($_SERVER['REQUEST_METHOD']=='POST')是您問題的根源。
您的請求可能會被錯誤地發送到服務器,并且method不會被識別為POST可以解釋""響應的原因,因為您沒有提供在條件失敗時應該發生的情況的替代方案。
發回一個錯誤的請求響應 ( 400),您將能夠在您的 Java 代碼中解決這個問題……PHP 很好。
if($_SERVER['REQUEST_METHOD']=='POST') { /* ... */ }
else {
http_response_code(400);
// exit('Bad request method.');
// or for a json response:
echo json_encode([
'success' => "0",
'message' => "Bad Request Method used."
]);
}
另外,我不得不說......安全應該始終是一個問題......只需要多幾行代碼就可以過濾用戶請求,并通過準備好的語句使您的查詢更加安全。這更多是習慣問題;有一天,您可能會在這里或那里忘記查詢。
添加回答
舉報
0/150
提交
取消