Delete dữ liệu từ MySQL trong PHP

Giống như khi bạn chèn các bản ghi vào các bảng CSDL, bạn cũng có thể xóa (DELETE) các bản ghi khỏi một bảng CSDL bằng cách sử dụng câu lệnh DELETE trong SQL. Cùng eLib tìm hiểu cách xóa dữ liệu từ MySQL qua bài viết dưới đây.

Mục lục nội dung

Delete dữ liệu từ MySQL trong PHP

1. Câu lệnh DELETE

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:

Delete dữ liệu từ MySQL trong PHP

2. Ví dụ

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)

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

// tạo connection
$conn = new mysqli($servername, $username, $password, $dbname);
// kiểm tra connection
if ($conn->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)

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

// tạo connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// kiểm tra connection
if (!$conn)
{
    die("Connection failed: " . mysqli_connect_error());
}

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

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

mysqli_close($conn);
?>

Ví dụ (PDO)

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

try
{
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // thiết lập chế độ PDO error thành ngoại lệ
    $conn->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 . "<br>" . $e->getMessage();
}

$conn = null;
?>

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

Delete dữ liệu từ MySQL trong PHP

Trên đây là bài viết của eLib.VN về Delete dữ liệu từ MySQL trong PHP. 

Câu lệnh DELETE sử dụng để xóa bản ghi trong CSDL. Tuy nhiên, câu lệnh DELETE khá nguy hiểm bởi nếu bạn bỏ qua mệnh đề WHERE, toàn bộ dữ liệu sẽ bị xóa. Hãy cẩn thận khi sử dụng câu lệnh DELETE nhé.

Như vậy là chúng ta đã hoàn thành nội dung kiến thức về "MySQL Database". Để củng cố và nắm vững nội dung đã học, mời bạn cùng thử sức với  "Bộ Câu hỏi Trắc Nghiệm Online Ôn Tập Lập trình PHP có đáp án chi tiết"

Trắc Nghiệm

Ngày:10/10/2020 Chia sẻ bởi:

CÓ THỂ BẠN QUAN TÂM