簡體   English   中英

從“表”中刪除,其中id =“所選記錄”?

[英]Delete from 'table' where id='selected record '?

我正在從表中選擇記錄,在回顯行中帶有“刪除”按鈕。 當我單擊相應的“刪除”按鈕時,我希望能夠刪除記錄。 這是我的刪除查詢,用於從另一個查詢中刪除選定的記錄,但是不起作用!

$querytwo = 'DELETE FROM paginas WHERE id= $_POST["id"]';   

我做錯了。 它是什么? 這是完整的代碼。

    <?php

        include_once("config.php"); //this is the database connection
        $query = "SELECT * FROM paginas "; //selects from the table called paginas
        $result = mysqli_query($mysqli, $query);

            while($row = mysqli_fetch_assoc($result)) 
            {
            $pagetitle = $row['pagetitle'];
            $toevoeging = $row['toevoeging'];
            $message = $row['message'];

                echo '<article class="topcontent">
       <div class="mct">
        <h2>' . $pagetitle .'</h2>
       </div><br>
       <p class="post-info">'. $toevoeging . '</p>
       <p class="post-text"><br>'.$message.'</p>
      </article>
       <div class="deleteknop">
        <form method="post">';

   echo '<input type="hidden" name="id" value="'.$row['id'].'">
         <input name="delete" type="submit" value="Delete Now!">
        </form>
       </div>' ;
            }

        $querytwo = 'DELETE FROM paginas WHERE id= $_POST["id"]';

        if (isset($_POST['delete'])) //Deletes the query if 'delete' button is clicked

            {
                $resulttwo = $mysqli->query($querytwo);  
            }

            ?>

得到它的工作。 我將行更改為$querytwo = "DELETE FROM paginas WHERE id= $_POST[id]"; 它是功能性的。 盡管有一個警告提示說“ Notice: Undefined index”但是由於error_reporting(0);我擺脫了它error_reporting(0);

您可以:

$querytwo = 'DELETE FROM `paginas` WHERE id= ' . $row['id'] . ' LIMIT 1'; 

您可以使用:

$querytwo = 'DELETE FROM paginas WHERE id= $_POST["id"]';

無需使用限制,您使用ID作為參考,因此它將刪除一條記錄。

您需要使用雙引號將變量插值工作。 用單引號引起來的確切字符串是作為數據庫查詢發送的內容,這不是有效的查詢。 這樣的事情實際上可以代替字符串中POST變量的值:

$querytwo = "DELETE FROM paginas WHERE id = $_POST[id]"

但是,直接將變量插值到查詢字符串中是一個壞主意,因為它可能導致SQL注入漏洞。 我建議查找參數化查詢。

暫無
暫無

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

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