簡體   English   中英

通過在PHP中指定特定的ID來刪除多個表

[英]Delete multiple table by given a specific id in php

美好的一天。 我是php的新手,現在想學習如何通過給定特定ID將3個表從android刪除到php。

表信息(id,名稱)表良(id,sun,tf)表壞(id,月亮,ts)

    <?php 
     //Getting Id
     $id = $_GET['id'];

     //Importing database
     require_once('dbConnect.php');

     //Creating sql query
     $sql = "DELETE FROM info WHERE id=$id;";
     $sql ="DELETE FROM Good WHERE tf=$id;";
     $sql ="DELETE FROM Bad WHERE ts=$id;";

     //Deleting record in database 
     if(mysqli_query($con,$sql)){
     echo 'Employee Deleted Successfully';
     }else{
     echo 'Could Not Delete Employee Try Again';
     }

     //closing connection 
     mysqli_close($con);
?>

錯誤

在此處輸入圖片說明

最新代碼

<?php 
 //Getting Id
 $mysqli->multi_query(" Many SQL queries ; ");
 $id = (int)$_GET['id'];

 //Importing database
 require_once('dbConnect.php');

 //Creating sql query
 $sql  = "DELETE FROM informaation WHERE id=$id;";
 $sql .= "DELETE FROM work_force WHERE twf=$id;";
 $sql .= "DELETE FROM work_details WHERE ts_id=$id;";

 //Deleting record in database 
 if(multi_query($con,$sql)){
 echo ' Deleted Successfully';
 }else{
 echo 'Could Not Delete . Try Again.' . mysqli_error($con);
 }
 ?>

您需要使用一個多查詢,因為當前您正在覆蓋前兩個查詢。

我修改了您的代碼以連接查詢語句及其適當的功能,包括錯誤檢查。 另外,假設您確實使用mysqli_庫成功連接。

您的require_once('dbConnect.php');

應該在下面包含此憑證,並用您自己的憑證替換以下憑證。

 $con = mysqli_connect("yourhost", "my_user", "my_password", "my_db");

然后做:

require_once('dbConnect.php');

 $id = (int)$_GET['id'];

 $sql  = "DELETE FROM info WHERE id=$id;";
 $sql .= "DELETE FROM Good WHERE tf=$id;";
 $sql .= "DELETE FROM Bad WHERE ts=$id;";

 //Deleting record in database 
 if(mysqli_multi_query($con,$sql)){
 echo 'Employee Deleted Successfully';
 }else{
 echo 'Could Not Delete Employee Try Again.' . mysqli_error($con);
 }

參考:

手冊中的示例:

 
 
 
  
  <?php // WORKING CODE: $mysqli->multi_query(" Many SQL queries ; "); // OK while ($mysqli->next_result()) {;} // flush multi_queries $mysqli->query(" SQL statement #1 ; ") // now executed! $mysqli->query(" SQL statement #2 ; ") // now executed! $mysqli->query(" SQL statement #3 ; ") // now executed! $mysqli->query(" SQL statement #4 ; ") // now executed! ?>
 
  

另外,請確保您確實擁有GET數組的值。

如果確實是整數,則將其替換為:

$id = (int)$_GET['id'];

您當前的代碼可以進行SQL注入 mysqli_*與預處理語句一起使用 ,或將PDO預處理語句一起使用

從i.info中刪除g.good,b.bad,其中i.id = $ id AND g.id = $ id AND b.id = $ id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM