Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP Mysql menghapus Kueri tidak berfungsi dengan benar

Kemungkinan besar karena Anda menyiapkan id="delete" . Biasanya nilai atribut id tidak diduplikasi.

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>";

Tombol kirim mendapatkan ID pertama dan dengan demikian mendapatkan input tersembunyi pertama.

Atau, Anda dapat merancang tombol Anda seperti ini dan berfungsi sebagai penanda Anda:

Tidak perlu mencetak setiap formulir!. Bungkus saja dengan meja:

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>';

Kemudian dalam pemrosesan 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. Cara yang benar untuk menyimpan tanggal MySQL setelah tahun 2037

  2. Temukan grup catatan yang cocok dengan beberapa nilai

  3. Cara Setup Replikasi MySQL di RHEL, Rocky dan AlmaLinux

  4. Haruskah tabel persimpangan memiliki lebih dari satu kunci utama dari tabel pengidentifikasi lain?

  5. Menggunakan BLOB di mana klausa di MySQL