亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有用戶 ID 變量的 MYSQL 的 HTTP 刪除請求

帶有用戶 ID 變量的 MYSQL 的 HTTP 刪除請求

PHP
Cats萌萌 2022-10-14 15:52:54
您好我正在嘗試使用 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的預處理語句。即使轉義字符串也不安全!


查看完整回答
反對 回復 2022-10-14
?
慕森王

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();

    ?>


查看完整回答
反對 回復 2022-10-14
  • 2 回答
  • 0 關注
  • 107 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號