В сегодняшней статье я решил разобрать задачу, как узнать, сколько изменилось строк после UPDATE . Аналогично, проверяется и число затронутых строк запросом DELETE . Давайте с Вами разберём, как можно это сделать.

Как узнать, сколько изменилось строк после UPDATE

В сегодняшней статье я решил разобрать задачу, как узнать, сколько изменилось строк после UPDATE. Аналогично, проверяется и число затронутых строк запросом DELETE. Давайте с Вами разберём, как можно это сделать.

В PHP у объекта mysqli есть замечательное свойство, которое называется affected_rows. Именно оно и содержит число изменённых записей. Давайте разберём пример:

<?php
  $mysqli = new mysqli("localhost", "root", "", "mydb");
  $mysqli->query("UPDATE `table` SET `field` = '5' WHERE `id` > 100");
  echo "Количество изменённых записей: ".$mysqli->affected_rows;
  $mysqli->query("DELETE FROM `table` WHERE `field` = '5'");
  echo "<br />Количество удалённых записей: ".$mysqli->affected_rows;
?>

Я думаю, что код здесь очень прозрачный и в комментариях не нуждается. Сразу после выполнения запроса свойство affected_rows меняет своё значение на количество только что затронутых записей, что нам и требовалось.