Bài 10: Delete dữ liệu MySQL bằng PHP

Lệnh delete dùng để xóa các records trong MySQL, lệnh này thường dùng trong backend đẻ xóa các tin tức, sản phẩm, chuyên mục. Cú pháp của lệnh này như sau:

DELETE FROM table_name
WHERE some_columns = some_values

Thường trong ứng dụng website thì ta sẽ delete theo khóa chính bởi vì khóa chính tăng tự động nên truy vấn tìm kiếm sẽ nhanh hơn. Nếu bạn không truyền vào điều kiện where thì nó sẽ xóa hết tất cả data trong table ,vì vậy hãy kiểm tra kỹ điều kiện trước khi thực hiện lệnh này.

1. Delete dữ liệu với MySQLi

Chúng ta có hai trường hợp sử dụng đó là hướng đói tượng và hướng thủ tục truyền thống.

Sử dụng MySQLi Object-oriented:

// Kết nối
$conn = new mysqli('localhost', 'root', 'vertrigo', 'FreetutsDemo');

// Kiểm tra kết nối
if ($conn->connect_error) {
    die("Kết nối thất bại: " . $conn->connect_error);
} 

// Câu SQL delete
$sql = "DELETE FROM News WHERE id=1";

// Thực hiện câu truy vấn
if ($conn->query($sql) === TRUE) {
    echo "Xóa thành công";
} else {
    echo "Xóa thất bại: " . $conn->error;
}

$conn->close();

Sử dụng MySQLi Procedural:

// Kết nối
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'FreetutsDemo');

// Kiểm tra kết nối
if (!$conn) {
    die("Kết nối thất bại: " . mysqli_connect_error());
}

// Câu SQL delete
$sql = "DELETE FROM News WHERE id=1";

// Thực hiện câu truy vấn
if (mysqli_query($conn, $sql)) {
    echo "Xóa thành công";
} else {
    echo "Xóa thất bại: " . mysqli_error($conn);
}

// ngắt kết nối
mysqli_close($conn);

2. Delete dữ liệu với PDO

Cũng tương tự như những bài trước.

try {
    // Kết nối
    $conn = new PDO("mysql:host=localhost;dbname=FreetutsDemo", 'root', 'vertrigo');

    // Thiết lập exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Câu SQL
    $sql = "DELETE FROM News WHERE id=1";

    // Thực thi câu truy vấn
    $conn->exec($sql);

    echo "Xóa thành công!";
} 
catch (PDOException $e) {
    echo 'Lỗi' . "<br>" . $e->getMessage();
}

// Ngắt kết nối
$conn = null;

3. Lời kết

Các ví dụ trên mình không sử dụng cơ chế prepared nên nó sẽ không bảo mật, vì vậy khi lập trình bạn nên sử dụng prepared nhé. Bài tiếp theo chúng ta sẽ tìm hiểu cách cập nhất dữ liệu bằng PHP.

Tài liệu chỉ mang tính chất tham khảo, mình không cam kết các nội dung trên website, vì vậy không được sử dụng để in ấn hay kinh doanh.
Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website vi phạm nội dung bản quyền mà mình đã đưa ra.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Facebook để được hỗ trợ nhanh nhất.