В этом уроке вы узнаете, как удалить данные из таблицы SQL Server с помощью PHP.
Этот урок начинается с того места, где закончилось обновление данных в таблице из урока по PHP.
Удалим строку из таблицы «Авторы» по идентификатору.
Удаление данных
Шаг 1. Добавьте метод delete() в AuthorDB для удаления автора по идентификатору:
public function delete(Author $author) { $sql = 'DELETE FROM Authors WHERE AuthorID = :id'; $stmt = $this->conn->prepare($sql); $stmt->execute(['id' => $author->getId()]); return $stmt->rowCount() > 0; }
Как это работает.
Сначала определите публичный метод delete(), который принимает объект Author в качестве параметра:
public function delete(Author $author)
Во-вторых, создайте оператор DELETE, который удаляет строку из таблицы Authors, где AuthorId соответствует указанному идентификатору:
$sql = 'DELETE FROM Authors WHERE AuthorID = :id';
В-третьих, создайте подготовленный оператор для выполнения оператора DELETE:
$stmt = $this->conn->prepare($sql);
В-четвертых, выполните подготовленный оператор с идентификатором, полученным из объекта Author:
$stmt->execute(['id' => $author->getId()]);
Наконец, верните true, если количество удаленных строк больше 0:
return $stmt->rowCount() > 0;
Шаг 2. Измените index.php для использования метода delete():
findById(1); // Delete the author $authorDB->delete($author);
Как это работает.
Сначала загрузите файл authordb.php, чтобы использовать класс AuthorDB в скрипте:
require_once 'authordb.php';
Во-вторых, подключитесь к SQL Server и назначьте возвращенный объект PDO переменной $conn:
$conn = require_once 'connect.php';
В-третьих, создайте новый объект AuthorDB:
$authorDB = new AuthorDB($conn);
В-четвертых, найдите объект Author с идентификатором 1:
$author = $authorDB->findById(1);
Наконец, вызовите метод delete() объекта AuthorDB, чтобы удалить автора:
$authorDB->delete($author);
Шаг 3. Запустите index.php в веб-браузере.
Шаг 4. Подтвердите удаление.
Откройте SQL Server Management Studio(SSMS), подключитесь к SQL Server и выполните следующий запрос:
SELECT * FROM Authors WHERE AuthorID = 1;
Возвращает пустой набор, что означает, что приложение успешно удалило автора с идентификатором 1.
Краткое содержание
- Выполните оператор DELETE, чтобы удалить данные из таблицы.