Hướng dẫn delete query in php - xóa truy vấn trong php

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • MySQL delete

MySQL delete

  • Khi cần xóa dữ liệu nào đó không cần thiết, ta có thể sử dụng câu lệnh DELETE trong MySQL để thực hiện việc xóa.
  • Các bước thực hiện:

    • Kết nối database và table.
    • Xác định record (hàng) cần xóa.
    • Xử lý dữ liệu.
    • Đóng database.

Cấu trúc delete:

  • tên_table: là tên bảng được chọn xem dữ liệu.
  • tên_cột: là tên các cột có trong table.
  • // Khai báo username
    $password = "123456";      // Khai báo password
    $server   = "localhost";   // Khai báo server
    $dbname   = "tintuc";      // Khai báo database
    
    // Kết nối database tintuc
    $connect = new mysqli($server, $username, $password, $dbname);
    
    //Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
    if ($connect->connect_error) {
        die("Không kết nối :" . $connect->connect_error);
        exit();
    }
    
    //Code xử lý, xóa record dữ liệu của table dựa theo điều kiện WHERE tại id = 1
    $sql = "DELETE FROM tin_xahoi WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được xóa";
    } else {
        echo "Lỗi delete: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    0: giá trị nhận biết record (hàng) cần xóa.

Xóa dữ liệu

Kiểu hướng đối tượng

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $connect->connect_error);
    exit();
}

//Code xử lý, xóa record dữ liệu của table dựa theo điều kiện WHERE tại id = 1
$sql = "DELETE FROM tin_xahoi WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if ($connect->query($sql) === TRUE) {
    echo "Dữ liệu đã được xóa";
} else {
    echo "Lỗi delete: " . $connect->error;
}

//Đóng kết nối database tintuc
$connect->close();
?>

Ứng với điều kiện

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $connect->connect_error);
    exit();
}

//Code xử lý, xóa record dữ liệu của table dựa theo điều kiện WHERE tại id = 1
$sql = "DELETE FROM tin_xahoi WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if ($connect->query($sql) === TRUE) {
    echo "Dữ liệu đã được xóa";
} else {
    echo "Lỗi delete: " . $connect->error;
}

//Đóng kết nối database tintuc
$connect->close();
?>
1, tương ứng với record (hàng) thứ 1, tất cả dữ liệu của record này sẽ bị xóa.

Kiểu thủ tục

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = mysqli_connect($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if (!$connect) {
    die("Không kết nối :" . mysqli_connect_error());
    exit();
}

//Code xử lý, xóa record dữ liệu của table dựa theo điều kiện WHERE tại id = 1
$sql = "DELETE FROM tin_xahoi WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if (mysqli_query($connect, $sql)) {
    echo "Dữ liệu đã được xóa";
} else {
    echo "Lỗi delete: " . mysqli_error($connect);
}

//Đóng database
mysqli_close($connect);
?>

Download file ví dụ

Trong file download đã có sẵn file tintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.tintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.



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 và PDO. 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! : 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:

Hướng dẫn delete query in php - xóa truy vấn trong php

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)

connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// lệnh sql xóa 1 bản ghi
$sql = "DELETE FROM MyGuests WHERE id=3";

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

$conn->close();
?>

Ví dụ (MySQLi hướng thủ tục)

Ví dụ (PDO)

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // lệnh sql xóa 1 bản ghi
    $sql = "DELETE FROM MyGuests WHERE id=3";

    // sử dụng exec() vì không có kết quả trả về
    $conn->exec($sql);
    echo "Record deleted successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "
" . $e->getMessage(); } $conn = null; ?>

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

Hướng dẫn delete query in php - xóa truy vấn trong php