簡體   English   中英

從同一頁面的mysqli中刪除php中的數據

[英]Delete data in php from same page mysqli

我無法從php刪除數據庫中的數據

這是我的代碼

        <tbody>
        <form action='<?php $_PHP_SELF ?>'method='GET'>

         <?php
          include 'config.php';

          $sql="SELECT * from department";
          $result = $conn->query($sql);
          if($result->num_rows > 0 )
           {
             while ($row= $result-> fetch_assoc()){
             echo "<tr><td>". $row["id"] ."</td><td><b>". $row["department_name"] ."</b></td><td>
             <a href='?id=" . $row["id"] . "'><input type='submit' class='btn cur-p btn-danger' name='delete_department' value='delete'></a><td></tr></form>";
           } 
          echo"</tbody>";
         }
         else {
             echo "<div class='alert alert-danger' role='alert'>No Data Found !</div";
         }
         $conn-> close();
         ?>

PHP代碼

      <?php  
     // connect to the database
     include('config.php');

    // confirm that the 'id' variable has been set
    if(isset($_GET['delete_department']))
  {
      // get the 'id' variable from the URL
          $id = $_GET['id'];

         // delete record from database
      if ($stmt = $mysqli->prepare("DELETE FROM department WHERE id = ? 
     LIMIT 1"))
          $stmt->bind_param("i",$id);
        $stmt->execute();
         $stmt->close();
      }
       else
           {
        echo "ERROR: could not prepare SQL statement.";
     }
       $mysqli->close();


       }


        ?>

刪除條目的正確PHP代碼是什么? 配置對我來說似乎還可以。

這是您產生的HTML:

<a href='?id=123'><input type='submit' class='btn cur-p btn-danger' name='delete_department' value='delete'></a>

這真的沒有道理。 您正在嘗試在鏈接中放置一個提交按鈕。 鏈接已經可以單擊,您不需要一個按鈕即可創建鏈接 由於您是從查詢字符串集合中獲取值,因此只需在鏈接URL的查詢字符串中添加所需的內容即可:

<a href='?id=123&delete_department=1'>Delete</a>

您的代碼中的內容可能如下所示:

echo "<tr><td>". $row["id"] ."</td><td><b>". $row["department_name"] ."</b></td><td>
<a href='?id=" . $row["id"] . "&delete_department=1'>Delete</a><td></tr></form>";

請注意,您可能確實還有更多我未發現的錯誤。 該代碼格式不正確,很難發現錯別字,但是此注釋聲稱至少發現了一個錯別字。

將您的PHP代碼更改為:

include('config.php');

if (isset($_GET['delete_department'])) {
$id = $_GET['id'];
if ($stmt = $mysqli->prepare("DELETE FROM department WHERE id = :id "))
    $stmt->bind_param(":id", $id);
$stmt->execute();
$stmt->close();
} else {
echo "ERROR: could not prepare SQL statement.";
}
$mysqli->close();

暫無
暫無

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

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