Повторение пройденного – удаление записей в PHP

Повторение пройденного – удаление записей в PHP

От автора: если долго не касаться какой-то темы, то она постепенно забывается. Вот я давно уже не занимался удалением записей в PHP. Сегодня мы освежим эти знания, чтобы быть наготове.

О чем это я?

Конечно, я говорю не об обычных строках, а тех, которые записаны в базу данных. Опять… Да, господа! На сцене опять его величество MySQL. С другими СУБД наш любимый язык программирования не сотрудничает. Но ближе к реализации!
Вспоминаем, какая команда SQL отвечает за «стирание» строк из БД:

DELETE FROM `city` WHERE `id`=2

Повторение пройденного – удаление записей в PHP

На снимке видно, как работает эта команда в phpMyAdmin. Но это не совсем, что нам требуется. Отсюда мы можем только «почерпнуть» правильно составленный запрос.

Программным путем

Попробуем реализовать выполнение команды DELETE в программном коде. Для этого мы сначала коннектимся к БД. Затем выполняем запрос с помощью функции mysqli_query(). После чего закрываем соединение. Для этого используем функцию mysqli_close().

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
<?php
$contact=mysqli_connect('localhost', 'root', '', 'world');
mysqli_query($contact, "DELETE FROM `city` WHERE `id`=3;");
mysqli_close($contact);
?>

Вот так мы реализовали удаление строк из базы. Открываем таблицу, и видим, что у нас больше нет строки с id=3.

Повторение пройденного – удаление записей в PHP

Можно добавить проверку выполнения команды:

<?php
$contact=mysqli_connect('localhost', 'root', '', 'world');
if(mysqli_query($contact, "DELETE FROM `city` WHERE `id`=4;")==true){

echo "Указанная строка удалена";
}
mysqli_close($contact);
?>

Повторение пройденного – удаление записей в PHP

Но значение указанного после where столбца может быть неуникальным. Поэтому, чтобы выбрать конкретную строку, немного модифицируем запрос:

DELETE FROM `city` WHERE `id`=10 and `Name`='Tilburg'

Заходим в таблицу и видим, что избавились от «десятой» записи.

Повторение пройденного – удаление записей в PHP

Но точно ли была в таблице строка со значениями столбцов, указанных в запросе? Пожалуйста, вот доказательство.

Повторение пройденного – удаление записей в PHP

Сложно!

Что касается стирания строк при закрытии страницы, то на ум приходит только такой «корявый» пример:

<html>

<head>
  <title></title>

</head>

<body>
<script>
window.onbeforeunload = function (){window.open("chernovik.php")};

</script>

</body>

</html>

Код скрипта (chernovik.php) у вас есть. В основе примера лежит обработка события onbeforeunload. Оно наступает после нажатия на кнопку закрытия окна в браузере или при его обновлении.

Дело в том, что это событие обрабатывается каждым браузером по-своему. Вдобавок почти все из них блокируют всплывающие окна. Так что привожу реализацию «как есть». Если у вас имеются варианты улучшения, милости просим в комментарии :) .

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree