Po wykonaniu zapytania do bazy danych funkcją mysqli_query otrzymuje się obiekt/zasób wyniku, czyli zestaw rekordów (result set). Sam wynik nie jest jeszcze "wierszem danych" – trzeba go odczytać funkcją pobierającą rekord.
Poprawne jest użycie mysqli_fetch_row, ponieważ ta funkcja pobiera jeden kolejny wiersz z wyniku zapytania i zwraca go jako tablicę indeksowaną (z kluczami 0, 1, 2…). Jest to dokładnie format wskazany w treści pytania. Funkcję tę typowo wywołuje się w pętli, aż do wyczerpania wyników.
Pozostałe propozycje nie służą do pobrania wiersza danych:
- mysqli_list_fields dotyczy informacji o polach (kolumnach) tabeli, a nie pobrania rekordów zwróconych przez zapytanie SELECT.
- mysqli_field_len odnosi się do metadanych pola/kolumny (np. długości pola) i nie zwraca całego wiersza danych.
- mysqli_fetch_lengths zwraca długości kolumn w aktualnie pobranym wierszu (liczby znaków/bajtów), więc jest funkcją pomocniczą do analizy rozmiarów danych, nie do samego pobrania rekordu.
W praktyce, jeśli potrzebujesz wiersza jako tablicy asocjacyjnej (klucze nazwami kolumn), stosuje się inne funkcje (np. warianty "fetch assoc"). W tym zadaniu kluczowe jest rozpoznanie, że "tablica indeksowana" oznacza pobieranie wiersza w postaci listy wartości, co zapewnia właśnie mysqli_fetch_row.