PHP SQL Server: удаление данных

В этом уроке вы узнаете, как удалить данные из таблицы 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, чтобы удалить данные из таблицы.
Мирослав С.

Автор статей, ИБ-специалист