KWALIFIKACJA INF3 - CZERWIEC 2023 (test 2)

PYTANIE NR 26.
W aplikacji PHP przesłano do bazy kwerendę SELECT za pomocą funkcji mysqli_query. Którą funkcję powinien zastosować użytkownik, aby sprawdzić ile rekordów zwróciło zapytanie?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_num_rows służy do sprawdzenia liczby wierszy w zbiorze wyników zwróconym przez zapytanie typu SELECT. Pozostałe funkcje mają inne role: pobierają pojedynczy wiersz, nawiązują połączenie lub wykonują zapytanie, ale nie podają liczby zwróconych rekordów.

Pełne wyjaśnienie:

Po wykonaniu zapytania SELECT funkcją mysqli_query otrzymuje się zbiór wyników (uchwyt/obiekt wyniku). Aby sprawdzić, ile rekordów zwróciło zapytanie, używa się funkcji mysqli_num_rows, która zwraca liczbę wierszy znajdujących się w tym wyniku.

Odpowiedź mysqli_num_rows jest właściwa, ponieważ bezpośrednio realizuje wymaganą operację: zlicza rekordy w rezultacie zapytania SELECT. Jest to typowa czynność w aplikacjach webowych, np. do obsługi sytuacji "brak wyników", do paginacji albo do decyzji, czy wyświetlać tabelę danych.

Dlaczego pozostałe propozycje nie pasują:

  • mysqli_fetch_row służy do pobrania pojedynczego wiersza z wyniku (zwykle jako tablica indeksowana). To operacja iteracyjna po danych, a nie sprawdzenie łącznej liczby rekordów.
  • mysqli_connect odpowiada za nawiązanie połączenia z serwerem bazy danych. Połączenie jest warunkiem wykonania zapytania, ale nie przechowuje informacji o liczbie rekordów zwróconych przez SELECT.
  • mysqli_query wykonuje zapytanie SQL i zwraca wynik (dla SELECT) lub informację o powodzeniu (dla zapytań modyfikujących). Sama funkcja nie jest narzędziem do zliczania rekordów w zwróconym zbiorze wyników.

Wskazówka egzaminacyjna: gdy w treści pojawia się "ile rekordów zwróciło SELECT", szukaj funkcji zliczającej wiersze w wyniku, a nie funkcji od połączenia, wykonania zapytania czy pobierania pojedynczego rekordu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
mysqli_num_rows zwraca liczbę wierszy (rekordów) znajdujących się w zbiorze wyników zapytania, najczęściej po wykonaniu SELECT. Dzięki temu możesz sprawdzić, czy zapytanie zwróciło 0 wyników, czy np. wiele rekordów do wyświetlenia.
Po wykonaniu SELECT i uzyskaniu wyniku zapytania należy użyć funkcji zliczającej wiersze w tym wyniku, czyli mysqli_num_rows. To jest inny etap niż samo wykonanie zapytania (mysqli_query) czy pobieranie danych w pętli (mysqli_fetch_row).
mysqli_query ma zadanie uruchomić zapytanie i zwrócić uchwyt/obiekt wyniku (dla SELECT) albo informację o powodzeniu (dla innych zapytań). Liczba rekordów to cecha zwróconego wyniku, więc do jej odczytu używa się osobnej funkcji.
mysqli_fetch_row pobiera jeden wiersz z wyniku (np. do przetwarzania w pętli). mysqli_num_rows nie pobiera danych, tylko informuje, ile wierszy jest w całym zbiorze wyników. To dwa różne zastosowania w pracy z wynikami SELECT.
mysqli_connect stosuje się na początku, aby nawiązać połączenie z serwerem bazy danych. Dopiero mając połączenie, można wykonywać zapytania. Funkcja ta nie służy do analizy wyników SELECT ani do liczenia rekordów.
Nie jest to typowe zastosowanie. mysqli_num_rows dotyczy liczby wierszy w wyniku zapytania SELECT. Dla zapytań modyfikujących (INSERT/UPDATE/DELETE) zwykle interesuje liczba zmienionych wierszy, a to jest inny mechanizm niż liczba rekordów w zbiorze wyników.
Częsty błąd to wybór funkcji o "znajomej" nazwie, np. mysqli_query (bo kojarzy się z zapytaniem) lub mysqli_fetch_row (bo kojarzy się z danymi). Mechanicznie myli się etap wykonania zapytania z etapem pracy na wyniku i zliczania rekordów.
Najpierw wykonujesz SELECT, a potem sprawdzasz liczność zwróconego wyniku. Jeśli liczba wierszy wynosi 0, wyświetlasz komunikat "Brak danych" lub ukrywasz tabelę wyników. To standardowy wzorzec w aplikacjach z wyszukiwarką lub filtrowaniem danych.
Sprawdzenie liczby wyników pomaga poprawić UX i logikę aplikacji: możesz uniknąć pustych tabel, dobrać paginację, ograniczyć liczbę wyświetleń lub podjąć decyzję o innym widoku strony. To także ułatwia diagnostykę, czy filtr lub warunek WHERE działa zgodnie z oczekiwaniami.
Ucz się grupami: funkcje połączenia, funkcje wykonania zapytań, funkcje pobierania danych oraz funkcje sprawdzania parametrów wyniku (np. liczby wierszy). Rób krótkie ćwiczenia: wykonaj SELECT, policz rekordy, a potem pobierz wiersze w pętli i porównaj role poszczególnych funkcji.
info

Statystycznie 69% uczniów zna prawidłową odpowiedź. średnie

W praktyce zawodowej kluczowe jest to, że funkcja mysqli_num_rows służy do sprawdzenia liczby wierszy w zbiorze wyników zwróconym przez zapytanie typu SELECT.

Źródła:

  • PHP Manual: mysqli_num_rows — https://www.php.net/manual/en/mysqli-result.num-rows.php (dostęp: 2026-03-02)
  • PHP Manual: mysqli_query — https://www.php.net/manual/en/mysqli.query.php (dostęp: 2026-03-02)
  • PHP Manual: mysqli_fetch_row — https://www.php.net/manual/en/mysqli-result.fetch-row.php (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja PHP: sekcja dotycząca funkcji zwracających liczbę wierszy w wyniku zapytania
  • Ćwiczenia praktyczne: wykonywanie SELECT i liczenie wierszy przed wyświetleniem danych
  • Notatki z różnic między funkcjami: wykonywanie zapytania vs pobieranie danych vs parametry połączenia

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego