您好我正在嘗試使用 where 子句從 MYSQL 數據庫中的表中刪除記錄。這是我到目前為止所擁有的,但它不起作用,我不知道該怎么做。有沒有辦法使這項工作?我已經包含了我的刪除方法和 php 文件代碼。我的網址 - deleteCompletedGoal=("http://10.0.2.2/deleteCompletedGoalAddress.php?user_goal_id="+completed_goalID);我的代碼 - private void deleteNonActiveGoal(){ try { URL url = new URL(deleteCompletedGoal); HttpURLConnection http = (HttpURLConnection) url.openConnection(); http.setRequestMethod("POST"); http.setRequestProperty("X-HTTP-Method-Override", "DELETE"); http.setDoInput(true); http.setDoOutput(true); OutputStream ops = http.getOutputStream(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(ops, "UTF-8")); String data = URLEncoder.encode("user_goal_id", "UTF-8") + "=" + URLEncoder.encode(completed_goalID, "UTF-8") + "&&"; writer.write(data); writer.flush(); writer.close(); ops.close(); InputStream ips = http.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(ips, "ISO-8859-1")); String line; while ((line = reader.readLine()) != null) { result += line; } reader.close(); ips.close(); http.disconnect(); } catch (MalformedURLException e) { result = e.getMessage(); } catch (IOException e) { result = e.getMessage(); } }PHP 文件:<?phprequire "connection.php";$completed_goalID=$_POST["user_goal_id"];$mysql_qry = "DELETE from user_goals WHERE user_goal_id ='$completed_goalID'";if($conn->query($mysql_qry) === TRUE) {echo "delete successful";}else{echo "delete failed";}$conn->close();?>
2 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
由于您在查詢字符串中發送變量,因此您將使用 GET 而不是 POST。改變:
$completed_goalID=$_POST["user_goal_id"];
至
$completed_goalID=$_GET["user_goal_id"];
警告
Little Bobby說您的腳本面臨 SQL 注入攻擊的風險。了解MySQLi的預處理語句。即使轉義字符串也不安全!

慕森王
TA貢獻1777條經驗 獲得超3個贊
使用 $_GET 獲取來自 url 的變量,例如:
$completed_goalID=$_GET["user_goal_id"];
更改查詢以防止 sql 攻擊(參考),例如:
<?php
require "connection.php";
$completed_goalID=$_POST["user_goal_id"];
$mysql_qry = $conn->prepare("DELETE from user_goals WHERE user_goal_id=?");
$mysql_qry->bind_param('i',$completed_goalID);
if($mysql_qry->execute() === TRUE){
echo "delete successful";
}
else{
echo "delete failed";
}
$mysql_qry->close();
$conn->close();
?>
- 2 回答
- 0 關注
- 107 瀏覽
添加回答
舉報
0/150
提交
取消