Xóa (delete) dữ liệu trong MySQL với PHP

Đây là bài 50/53 bài của series môn học Lập trình Web PHP

Trong bài này, chúng ta sẽ tìm hiểu về cách delete row trong table với PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Các ví dụ delete dữ liệu sẽ thực hiện trên table gochocit_posts trong database gochocit. Database và table này đã được tạo trong bài Tạo database và tạo table trong MySQL với PHP. Các bạn cần đọc lại để xem cấu trúc của database và table trên.

Bảng gochocit_posts được tạo ra
Dữ liệu được insert vào table gochocit_posts

Chúng ta có thể xóa (delete) những dòng dữ liệu trong table với câu lệnh “DELETE FROM”. Nếu muốn xóa tất cả row trong table thì sử dụng câu lệnh DELETE FROM table_name. Ví dụ, DELETE FROM gochocit_posts.

Nếu muốn xóa một row cụ thể trong table thì cần sử dụng thêm câu lệnh WHERE. Ví dụ: DELETE FROM gochocit_posts WHERE ID=1. Khi thực thi câu lệnh này, row có field ID=1 sẽ bị xóa khỏi table.

1. Xóa (delete) row trong table sử dụng MySQLi (object-oriented)

Câu lệnh DELETE FROM được thực thi khi đối tượng mysqli$conn gọi hàm query(). Nếu câu lệnh SQL thực thi thành công và delete được dữ liệu thì hàm query() sẽ trả về TRUE, ngược lại FALSE.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "gochocit";

// create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// sql to delete a record
$sql = "DELETE FROM gochocit_posts WHERE ID=1";

if ($conn->query($sql) === TRUE) {
  echo "Record deleted successfully";
} else {
  echo "Error deleting record: " . $conn->error;
}

$conn->close();
?>

2. Xóa (delete) row trong table sử dụng MySQLi (procedural)

Kỹ Câu lệnh DELETE FROM được thực thi khi gọi hàm mysqli_query(). Nếu câu lệnh SQL thực thi thành công và delete được dữ liệu thì hàm mysqli_query() sẽ trả về TRUE, ngược lại FALSE.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "gochocit";

// create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

// sql to delete a record
$sql = "DELETE FROM gochocit_posts WHERE ID=1";

if (mysqli_query($conn, $sql)) {
  echo "Record deleted successfully";
} else {
  echo "Error deleting record: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

3. Xóa (delete) row trong table sử dụng PDO (PHP Data Objects)

Câu lệnh DELETE FROM được thực thi khi đối tượng PDO$conn gọi hàm exec(). Nếu câu lệnh SQL thực thi thành công và delete được dữ liệu thì hàm exec() không gây ra exception. Ngược lại, hàm exec() sẽ gây ra exception.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "gochocit";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // sql to delete a record
  $sql = "DELETE FROM gochocit_posts WHERE ID=1";

  // use exec() because no results are returned
  $conn->exec($sql);
  echo "Record deleted successfully";
} catch(PDOException $e) {
  echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

Sau khi xóa các record xong, các bạn sử dụng công cụ phpMyAdmin để xem các row trong table gochocit_posts. Các bạn đọc lại phần Kết nối đến một database cụ thể trong MySQL để xem cách sử dụng công cụ phpMyAdmin.

5/5 - (2 bình chọn)
Bài trước và bài sau trong môn học<< Thêm (insert) nhiều record dữ liệu trong MySQL với PHPTruy vấn (select) dữ liệu và câu lệnh where trong MySQL với PHP >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.