PHP Видалення даних MySQL
Видалення даних із MySQL таблиці, використовуючи MySQLi та PDO
Інструкція DELETE використовується для видалення записів із таблиці:
DELETE FROM table_name
WHERE some_column = some_value
Зверніть увагу на пропозицію WHERE у синтаксисі DELETE: Пропозиція WHERE визначає, який запис чи записи слід видалити. Якщо ви опустите пропозицію WHERE, усі записи будуть видалені!
Щоб дізнатись більше про SQL, відвідайте SQL Підручник на нашому сайті W3Schools українською.
Давайте подивимося на таблицю "MyGuests":
id | firstname | lastname | reg_date | |
---|---|---|---|---|
1 | John | Doe | john@example.com | 2024-10-22 14:26:15 |
2 | Mary | Moe | mary@example.com | 2024-10-23 10:22:30 |
3 | Julie | Dooley | julie@example.com | 2024-10-26 10:48:23 |
В наступному прикладі видаляється запис із id=3 в таблиці "MyGuests":
Приклад (MySQLi Об’єктно-орієнтований)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Створити підключення
$conn = new mysqli($servername, $username, $password, $dbname);
// Перевірити підключення
if ($conn->connect_error) {
die("Підключення потерпіло невдачу: " . $conn->connect_error);
}
// sql для видалення запису
$sql = "DELETE FROM MyGuests WHERE id=3";
if ($conn->query($sql) === TRUE) {
echo "Запис повністю видалено";
} else {
echo "Помилка видалення запису: " . $conn->error;
}
$conn->close();
?>
Приклад (MySQLi Процедурний)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Створити підключення
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Перевірити підключення
if (!$conn) {
die("Підключення потерпіло невдачу: " . mysqli_connect_error());
}
// sql для видалення запису
$sql = "DELETE FROM MyGuests WHERE id=3";
if (mysqli_query($conn, $sql)) {
echo "Запис повністю видалено";
} else {
echo "Помилка видалення запису: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Приклад (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// встановити режим помилки PDO у виняток
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// sql для видалення запису
$sql = "DELETE FROM MyGuests WHERE id=3";
// використовуйте exec(), оскільки результати не повертаються
$conn->exec($sql);
echo "Запис повністю видалено";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
Після видалення запису таблиця матиме такий вигляд:
id | firstname | lastname | reg_date | |
---|---|---|---|---|
1 | John | Doe | john@example.com | 2024-10-22 14:26:15 |
2 | Mary | Moe | mary@example.com | 2024-10-23 10:22:30 |