Hướng dẫn dùng delete trong 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:

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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.

Bài viết này được đăng tại [free tuts .net]

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' . "
" . $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.

Bài này sẽ hướng dẫn bạn delete dữ liệu từ MySQL trong PHP bằng cách sử dụng MySQLi PDO.

Câu lệnh DELETE được sử dụng để xóa các bản ghi từ một bảng:

DELETE FROM table_name
WHERE some_column = some_value

Chú ý: mệnh đề WHERE trong cú pháp DELETE: Mệnh đề WHERE chỉ định bản ghi hoặc các bản ghi nào sẽ bị xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi của bảng sẽ bị xóa!

Giả sử bảng "MyGuests" có các bản ghi sau:

Các ví dụ sau xóa bản ghi với id = 3 trong bảng "MyGuests":

Ví dụ [MySQLi hướng đối tượng]

Ví dụ [MySQLi hướng thủ tục]

Ví dụ [PDO]

Sau khi bản ghi bị xóa, bảng sẽ trông như thế này:

Chủ Đề