Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP Mysql delete Truy vấn không hoạt động bình thường

Nhiều khả năng là do bạn thiết lập id="delete" . Thông thường, các giá trị thuộc tính id không bị trùng lặp.

echo "<td><form action='delete_prod.php' id='delete' method='get'>";
echo "<button type='submit' form = 'delete' class='btn btn-default' name='delete'>Delete</button>";

Nút gửi nhận ID đầu tiên và do đó nhận được thông tin đầu vào ẩn đầu tiên.

Ngoài ra, bạn có thể tạo ra nút của mình như thế này và đóng vai trò là điểm đánh dấu của bạn:

Không cần in từng biểu mẫu !. Chỉ cần bọc nó với bảng:

echo "<form action='delete_prod.php' id='delete' method='get'>";

echo '<table>';
while($row = mysqli_fetch_assoc($result)) {
    $prod_id = $row['prod_id'];
    echo "<tr>";
        echo "<td>".$count."</td>";
        echo "<td>".$row['prod_id']."</td>";
        echo "<td>".$row['prod_name']."</td>";
        echo "<td>".$row['prod_price']."</td>";
        echo "<td>";
        // each id is assigned to each button, so that when its submitted you get the designated id, the one that you clicked
        echo "<button type='submit' value='$prod_id' class='btn btn-default' name='delete'>Delete</button>";
        echo "</td>";
    echo '</tr>';
}

echo '</table>';
echo '</form>';

Sau đó, trong xử lý PHP:

if(isset($_GET['delete'])) // as usual
{
    include "connection.php";
    $prod_id = $_GET['delete']; // get the id
    // USE PREPARED STATEMENTS!!!
    $del="DELETE FROM products WHERE prod_id = ?";
    $delete = $link->prepare($del);
    $delete->bind_param('i', $prod_id);
    $delete->execute();
    // don't echo anything else, because you're going to use header
    if($delete->affected_rows > 0) {
        header('location:show_db.php');
    } else {
        echo 'Sorry delete did not push thru!';
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tìm nạp bản ghi theo thứ tự với mệnh đề IN - có các giá trị trùng lặp trong mệnh đề IN

  2. Vấn đề điều kiện WHERE trong SQL

  3. Có thể tạo hai khóa chính trong một bảng không?

  4. MySql nhận tổng của một cột trong mỗi hàng của cột mới

  5. Tại sao một cột văn bản không thể có giá trị mặc định trong MySQL?