Funkcja mysqli_affected_rows() służy do ustalenia, ile rekordów zostało dotkniętych przez ostatnie zapytanie wykonane na danym połączeniu. W praktyce wykorzystuje się ją po operacjach modyfikujących dane, takich jak INSERT, UPDATE czy DELETE, aby potwierdzić efekt działania polecenia i poprawnie zbudować logikę aplikacji (komunikaty, logi, warunki biznesowe).
Odpowiedź mysqli_num_rows() bywa mylona z właściwą, ponieważ również "liczy wiersze", ale dotyczy liczby rekordów w wyniku zapytania (zwykle SELECT) reprezentowanym przez obiekt result. Nie mówi więc, ile wierszy zmieniono w tabeli, tylko ile zwrócono w rezultacie.
mysqli_field_count() zwraca liczbę kolumn (pól) w zestawie wynikowym ostatniego zapytania. To informacja o strukturze wyniku, a nie o liczbie rekordów ani o liczbie zmian w tabeli.
mysqli_use_result() nie jest funkcją liczącą; służy do pobrania niebuforowanego wyniku zapytania z serwera. Jej użycie wiąże się z innym sposobem przetwarzania danych (strumieniowo), ale nie odpowiada na pytanie o liczbę zmienionych wierszy.
Wskazówka egzaminacyjna: gdy w treści pojawia się "zmieniono/usunięto/dodano rekordy", myśl o affected rows; gdy mowa o "ile rekordów zwrócił SELECT", myśl o num_rows.