NTM Solutions

Bài đăng nổi bật

🐘 PHP Cơ Bản 8.2 — CẤP ĐỘ TRỨNG🥚

Tự học PHP từ ZERO đến làm web động #laptrinhphpcoban 📘 PHẦN 1 — NHẬP MÔN PHP Bài 00 — Giới thiệu khóa học & cài đặt môi trường PHP là ...

Thứ Sáu, 26 tháng 6, 2026

📘Bài 26 — DELETE dữ liệu trong PHP + MySQL🗑️


🎯 Mục tiêu bài học

Sau bài này bạn sẽ biết:

✅ Xóa dữ liệu trong MySQL bằng PHP
✅ Sử dụng câu lệnh DELETE
✅ Truyền ID cần xóa từ URL
✅ Kiểm tra dữ liệu trước khi xóa
✅ Tránh lỗi xóa nhầm dữ liệu


1️⃣ DELETE trong MySQL là gì?

DELETE dùng để xóa một hoặc nhiều dòng dữ liệu trong bảng.

Cú pháp:

DELETE FROM ten_bang
WHERE dieu_kien;

Ví dụ:

Bảng posts

idtitle
1Học PHP
2Học MySQL
3Học Laravel

Xóa bài viết có id = 2:

DELETE FROM posts
WHERE id = 2;

Kết quả:

idtitle
1Học PHP
3Học Laravel

2️⃣ Kết nối database

Tạo file:

connect.php

Nội dung:

<?php

$conn = mysqli_connect(
    "localhost",
    "root",
    "",
    "php_basic"
);


if(!$conn){
    die("Kết nối thất bại");
}

?>

3️⃣ Tạo nút Xóa dữ liệu

Ví dụ trang:

index.php

Hiển thị danh sách:

<?php

$sql = "SELECT * FROM posts";

$result = mysqli_query($conn,$sql);


while($row = mysqli_fetch_assoc($result)){

?>

<h3>
<?= $row['title']; ?>
</h3>


<a href="delete.php?id=<?= $row['id']; ?>">
🗑️ Xóa
</a>


<?php

}

?>

Khi click:

delete.php?id=2

PHP sẽ nhận được:

id = 2

4️⃣ Nhận ID cần xóa

File:

delete.php

Lấy dữ liệu:

<?php

$id = $_GET['id'];

echo $id;

?>

Nếu truy cập:

delete.php?id=5

Kết quả:

5

5️⃣ Thực hiện DELETE bằng PHP

Ví dụ:

<?php

include "connect.php";


$id = $_GET['id'];


$sql = "
DELETE FROM posts
WHERE id = $id
";


$result = mysqli_query(
    $conn,
    $sql
);


if($result){

    echo "Xóa thành công";

}else{

    echo "Xóa thất bại";

}

?>

6️⃣ Quay lại trang danh sách

Sau khi xóa xong:

header("location:index.php");

Code hoàn chỉnh:

<?php

include "connect.php";


$id = $_GET['id'];


$sql = "
DELETE FROM posts
WHERE id = $id
";


if(mysqli_query($conn,$sql)){

    header("location:index.php");

}else{

    echo "Có lỗi xảy ra";

}


?>

7️⃣ Kiểm tra ID trước khi xóa

Không nên xóa trực tiếp:

$id = $_GET['id'];

Nên kiểm tra:

if(isset($_GET['id'])){

    $id = $_GET['id'];

}

8️⃣ Ép kiểu dữ liệu ID

ID trong database thường là số.

Dùng:

$id = intval($_GET['id']);

Ví dụ:

abc123

sẽ thành:

0

Giúp hạn chế lỗi.


9️⃣ Tránh SQL Injection

Cách tốt hơn:

Dùng Prepared Statement.

Ví dụ:

<?php

include "connect.php";


$id = intval($_GET['id']);


$stmt = $conn->prepare(
    "DELETE FROM posts WHERE id=?"
);


$stmt->bind_param(
    "i",
    $id
);


$stmt->execute();


echo "Đã xóa";


?>

🔟 Xóa có xác nhận bằng JavaScript

Tránh bấm nhầm:

<a 
href="delete.php?id=5"
onclick="return confirm('Bạn có chắc muốn xóa?')">

🗑️ Xóa

</a>

Hiển thị:

Bạn có chắc muốn xóa?

🧠 Quy trình DELETE thực tế

Danh sách bài viết

        ↓

Click nút Xóa

        ↓

Gửi ID

        ↓

delete.php

        ↓

DELETE FROM table

        ↓

Quay lại danh sách

📌 Lỗi thường gặp

❌ Quên WHERE

DELETE FROM posts;

⚠️ Xóa toàn bộ dữ liệu!


❌ Không lấy đúng ID

Sai:

$_POST['id']

trong khi gửi bằng URL:

?id=5

Phải dùng:

$_GET['id']

❌ Xóa nhưng không quay lại trang

Thêm:

header("location:index.php");

🎯 Sau bài 26 bạn đã biết CRUD:

C = CREATE
    INSERT dữ liệu

R = READ
    SELECT dữ liệu

U = UPDATE
    Sửa dữ liệu

D = DELETE
    Xóa dữ liệu

Bài tiếp theo:

🚀 Bài 27 — CRUD hoàn chỉnh

Tạo hệ thống quản lý bài viết:

✅ Danh sách
✅ Thêm bài viết
✅ Sửa bài viết
✅ Xóa bài viết
✅ Kết nối MySQL hoàn chỉnh

x0

quay về MỤC LỤC

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS