Как удалить запись из базы данных
Короткий ответ
Выполните DELETE с условием по идентификатору:
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE products (id INTEGER PRIMARY KEY, title TEXT, price INTEGER)');
$pdo->exec("INSERT INTO products (title, price) VALUES ('Tea', 250), ('Coffee', 400), ('Juice', 180), ('Green tea', 300)");
$statement = $pdo->prepare('DELETE FROM products WHERE id = ?');
$statement->execute([2]);
echo $statement->rowCount(), ' ', $pdo->query('SELECT COUNT(*) FROM products')->fetchColumn();Результат:
1 3Мягкое удаление
Часто запись не стирают, а помечают удалённой — её можно восстановить. Для этого заводят столбец deleted_at и исключают помеченные строки условием WHERE deleted_at IS NULL.
Функции из этого ответа
- PDO — Подключение к базе данных.
- PDOStatement — Подготовленный запрос и его результат.
- count — Возвращает количество элементов массива.