Описание: в этой статье вы узнаете, как удалять данные из таблицы базы данных MySQL с помощью PHP PDO.
Мы будем использовать таблицу tasks в примере базы данных для демонстрации. Перед тем, как продолжить работу с этой статьей, вы должны следовать статьи по созданию таблицы tasks PHP MySQL, чтобы создать таблицу и вставить образцы данных для практики.
Смотрите следующую таблицу задач.
Чтобы удалить данные в таблице, вы используете следующие шаги:
Чтобы удалить одну строку в таблице, вы используете оператор DELETE с предложением WHERE, которое указывает, какую строку удалять.
Следующий скрипт удаляет строку с идентификатором 2 в таблице tasks.
<?php
/**
* PHP MySQL. Удаление данных Demo
*/
class DeleteDataDemo {
const DB_HOST = ‘localhost’;
const DB_NAME = ‘classicmodels’;
const DB_USER = ‘root’;
const DB_PASSWORD = ”;
/**
* PDO instance
* @var PDO
*/
private $pdo = null;
/**
* Открыть подключение базы данных к MySQL
*/
public function __construct() {
// open database connection
$conStr = sprintf(“mysql:host=%s;dbname=%s”, self::DB_HOST, self::DB_NAME);
try {
$this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
} catch (PDOException $e) {
die($e->getMessage());
}
}
/**
* Удаление задачи на основе указанного идентификатора задачи
* @param int $id
* @вернуть bool значение true в случае успешного завершения или false в случае возникновения ошибки
*/
public function delete($id) {
$sql = ‘DELETE FROM tasks
WHERE task_id = :task_id’;
$q = $this->pdo->prepare($sql);
return $q->execute([‘:task_id’ => $id]);
}
/**
* закройте соединение с базой данных
*/
public function __destruct() {
$this->pdo = null;
}
}
$obj = new DeleteDataDemo();
// удаляет id 2
$obj->delete(2);
В методе __construct() класса DeleteDataDemo мы подключаемся к базе данных MySQL, инициируя экземпляр класса PDO, а в методе __destruct() закрываем соединение с базой данных.
Метод delete() принимает в id качестве аргумента. Во- первых, мы вызываем метод prepare() объекта PDO, чтобы подготовить оператор DELETE к исполнению, а затем передаем массив, содержащий значения, соответствующие имени в оператор DELETE в execute() объекта PDOStatement.
Чтобы удалить задачу с идентификатором 2, мы создаем экземпляр класса DeleteDataDemo и вызываем метод delete().
Есть два способа удалить все строки в таблице:
Следующий метод deleteAll() удаляет все строки в таблице tasks, используя заявление DELETE:
<?php
/**
* Удалить все строки в таблице tasks
*/
public function deleteAll(){
$sql = ‘DELETE FROM tasks’;
return $this->pdo->exec($sql);
}
Следующий метод truncateTable() удаляет все строки в таблице tasks, а также сбрасывает значение ее столбца автоинкремента :
<?php
/**
* Усечение таблицы tasks
*/
public function truncateTable() {
$sql = ‘TRUNCATE TABLE tasks’;
return $this->pdo->exec($sql);
}
В этой статье мы показали, как удалить данные из таблицы MySQL с помощью PHP PDO.