Học lập trình PHP cơ bản

Bài 27: 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) Sử dụng MySQLi Object-oriented

// Kết nối
$conn = new mysqli('localhost', 'root', '', 'demo');
 
// 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();

2) Sử dụng MySQLi Procedural

// Kết nối
$conn = mysqli_connect('localhost', 'root', '', 'demo');
 
// 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);

3) Sử dụng PDO

try {
    // Kết nối
    $conn = new PDO("mysql:host=localhost;dbname=demo", 'root', '');
 
    // 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;