English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
в этом руководстве вы узнаете, как использовать PHP для удаления записей из таблицы MySQL.
Как и при вставке записей в таблицу, вы можете использовать SQL DELETEпродолжение удаляет записи из таблицы. Обычно оно используется вместе с подзапросом WHERE, чтобы удалять только те записи, которые соответствуют определенным условиям или условиям.
базовая грамматика предложения DELETE может быть дана следующим образом:
DELETE FROM table_name WHERE column_name=some_value
давайте выполним SQL-запрос с помощью предложения DELETE и подзапроса WHERE, а затем передадим его функции PHP mysqli_query() для выполнения этого запроса, чтобы удалить записи из таблицы. Посмотрите на таблицу persons в базе данных demo:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
в следующем примере PHP-кода из таблицы persons будет удаленаfirst_nameзаписи, соответствующие имени John
<?php /*Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL. сервер сdefault настройками (пользователь без пароля "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //проверка подключения if($link === false){ die("ошибка: не удалось подключиться. " . mysqli_connect_error()); } //尝试执行删除 $sql = "DELETE FROM persons WHERE first_name='John'"; if(mysqli_query($link, $sql)){ echo "Запись успешно удалена."; } else{ echo "ошибка: не удалось выполнить $sql. " . mysqli_error($link); } //Закрываем соединение mysqli_close($link); ?>
<?php /*Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL. сервер сdefault настройками (пользователь без пароля "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //проверка подключения if($mysqli === false){ die("ошибка: не удалось подключиться. " . $mysqli->connect_error); } //尝试执行删除 $sql = "DELETE FROM persons WHERE first_name='John'"; if($mysqli->query($sql) === true){ echo "Запись успешно удалена."; } else{ echo "Ошибка: Не удалось выполнить $sql. ". $mysqli->error; } //Закрываем соединение $mysqli->close(); ?>
<?php /*Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL. Сервер с-default настройками (пользователь без пароля "root")*/ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //Устанавливаем режим ошибок PDO в исключения $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("Ошибка: Не удалось подключиться. ". $e->getMessage()); } //Попытка обновить выполнение запроса try{ $sql = "DELETE FROM persons WHERE first_name='John'"; $pdo->exec($sql); echo "Запись успешно удалена."; } catch(PDOException $e){ die("Ошибка: Не удалось выполнить $sql. ". $e->getMessage()); } //Закрываем соединение unset($pdo); ?>
После удаления:personsТаблица будет выглядеть следующим образом:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 3 | Clark | Kent | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
Как вы видите, запись успешно удалена из таблицы persons.
Предупреждение:WHERE-подзапрос в предложении DELETE указывает, какие записи должны быть удалены. Если пропущен подзапрос WHERE, будут удалены все записи.