簡體   English   中英

PHP-MySQL刪除記錄

[英]PHP - MySQL Deleting a record

我正在從數據庫中提取記錄,並創建了一個PHP文件以在按下“刪除”按鈕時執行。 該代碼在某種意義上起作用,即從數據庫中刪除記錄,但始終刪除數據庫中的第一條記錄,而不刪除與表中的請求ID有關的一條記錄。 任何幫助都會很棒

表:

<?php

    //3. Perform database query
        $result = mysql_query("SELECT * FROM Request
        WHERE DepID = 'CO'
        AND Status = 'P'", $connection);
        if(!$result){
            die("Database query failed: " . mysql_error());
        }

    //4. Use Returned Data
    while ($row = mysql_fetch_array($result)) {
    $row['ReqID'];  

        echo "<tr>";
        echo "<td class='req' align='center'>".$row['ReqID']."</td>";
        echo "<td class='req' align='center'>".$row['ModTitle']."</td>"; 
        echo "<td class='req' align='center'>".$row['BuildingID']."</td>";
        echo "<td class='req' align='center'>".$row['RoomID']."</td>";
        echo "<td class='req' align='center'>".$row['Priority']."</td>";
        echo "<td class='req' align='center'>".$row['W1']."</td>";
        echo "<td class='req' align='center'>".$row['P1']."</td>";
        echo "<td class='req' align='center'><a href=''><img height='18px' src='images/edit.png'></a></td>";
        echo "<td class='req' align='center'><a href='deletereq.php'><img src='images/exit.png'></a></td>";
        echo "</tr>";




    }
?>

然后這是deletereq.php文件:

<?php require_once("includes/connection.php"); ?>

<?php

    //3. Perform database query
        $result = mysql_query("SELECT * FROM Request
        WHERE DepID = 'CO'
        AND Status = 'P'", $connection);
        if(!$result){
            die("Database query failed: " . mysql_error());
        }

    //4. Use Returned Data
    while ($row = mysql_fetch_array($result)) {
    $row['ReqID'];


$result2 = mysql_query("DELETE FROM Request 
                       WHERE ReqID = {$row['ReqID']} LIMIT 1", $connection);
    if (mysql_affected_rows() == 1) {
                redirect_to("content.php");
            } else {
            //deletion failed
            echo "<h1>Request Deletion Failed.</h1>";
            echo "<p>" . mysql_error() . "</p>";
            echo "<a href=\"request.php\"> Return to request</a>";
        }
        }
?>

<?php mysql_close($connection); ?>

在顯示頁面上

echo "<td class='req' align='center'><a href='deletereq.php?id=".$row['ReqID']."'><img src='images/exit.png'></a></td>";

在您的刪除頁面上,更改查詢以使用$ _GET ['id']的值

但是請注意,根據您的用途以及此處的情況,您可能真的想從安全性等角度確定您的需求。 另外,一般來講,使用GET進行更改不是一個好主意,最好先使用POST,然后再使用重定向。 要點就是上面的方法可以工作,但是那(以及您已經擁有的)就足夠了,如果不小心的話,可能會對自己造成一些嚴重的損害。

暫無
暫無

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

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