mysqli_affected_rows() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

mysqli_affected_rows() w PHP

mysqli_affected_rows() to funkcja PHP używana przy pracy z bazą danych MySQL przez rozszerzenie MySQLi. Zwraca liczbę wierszy, na które wpłynęło ostatnio wykonane zapytanie SQL dla danego połączenia z bazą.

Składnia

mysqli_affected_rows($polaczenie);

Argumentem jest uchwyt połączenia z bazą danych, np. $db.

Dla jakich zapytań jest używana?

Funkcja jest szczególnie przydatna dla zapytań modyfikujących dane:

  • INSERT - liczba dodanych wierszy,
  • UPDATE - liczba zmienionych wierszy,
  • DELETE - liczba usuniętych wierszy.

Nie służy do sprawdzania liczby wszystkich rekordów w tabeli. Do tego używa się najczęściej zapytania SELECT COUNT(*).

Przykład

mysqli_query($db, "DELETE FROM produkty WHERE status < 0");
$x = mysqli_affected_rows($db);

W tym przykładzie zmienna $x otrzyma liczbę wierszy usuniętych przez zapytanie DELETE, czyli liczbę rekordów z tabeli produkty, które spełniały warunek status < 0.

Ważne na egzaminie

Jeżeli przed mysqli_affected_rows() wykonano zapytanie DELETE FROM, to funkcja zwraca liczbę wierszy przetworzonych/usuniętych przez to zapytanie, a nie liczbę wszystkich wierszy w tabeli ani w bazie danych.