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
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:
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:
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"