Dlaczego tak
mysqli_num_rows przyjmuje wynik zapytania SELECT i zwraca liczbę jego wierszy. mysqli_affected_rows podaje, ile wierszy zmieniły polecenia INSERT, UPDATE lub DELETE, a jako argument przyjmuje połączenie, a nie wynik. mysqli_fetch_row pobiera jeden wiersz jako tablicę, a mysqli_field_count zwraca liczbę kolumn ostatniego zapytania, a nie wierszy.