Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как удалить запись из базы данных

Короткий ответ

Выполните 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 — Возвращает количество элементов массива.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.