Funkcja mysqli_fetch_array() w PHP
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
mysqli_fetch_array() służy do pobierania kolejnych wierszy z wyniku zapytania SQL wykonanego przez mysqli_query(). Funkcja jest często używana w pętli while, ponieważ przy każdym wywołaniu zwraca następny rekord, a po wyczerpaniu wyników zwraca false.
Składnia
$wiersz = mysqli_fetch_array($wynik);
Parametr $wynik to rezultat zapytania, np. zmienna zwrócona przez mysqli_query().
Przykład
$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = mysqli_fetch_array($zapytanie)) {
echo "$wiersz[0] $wiersz[1]";
}
W tym przykładzie:
- $zapytanie przechowuje wynik zapytania SQL,
- mysqli_fetch_array($zapytanie) pobiera kolejny wiersz,
- $wiersz[0] oznacza pierwszą kolumnę, czyli imie,
- $wiersz[1] oznacza drugą kolumnę, czyli nazwisko.
Indeksy numeryczne i asocjacyjne
Domyślnie mysqli_fetch_array() pozwala odwoływać się do danych zarówno przez indeksy numeryczne, jak i nazwy kolumn:
echo $wiersz[0]; // imie
echo $wiersz["imie"]; // imie
Najważniejsze na egzaminie
Jeśli w kodzie występuje pętla:
while ($wiersz = ...)
i trzeba pobierać kolejne rekordy z wyniku zapytania MySQLi, właściwą funkcją jest najczęściej mysqli_fetch_array(), mysqli_fetch_row() albo mysqli_fetch_assoc(). W tym pytaniu poprawna odpowiedź to mysqli_fetch_array($zapytanie).