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.