Funkcja mysql_fetch_row() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Co robi mysql_fetch_row()?

mysql_fetch_row() to funkcja dawnego rozszerzenia MySQL w PHP, służąca do pobrania jednego wiersza danych z wyniku zapytania wykonanego np. przez mysql_query().

Funkcja zwraca wiersz jako tablicę indeksowaną numerycznie, czyli kolumny są dostępne pod indeksami 0, 1, 2 itd.

Składnia

mysql_fetch_row($wynik);

Gdzie $wynik to rezultat zapytania, najczęściej otrzymany przez:

$wynik = mysql_query("SELECT imie, nazwisko FROM uczniowie");

Przykład użycia

$wynik = mysql_query("SELECT imie, nazwisko FROM uczniowie");

$wiersz = mysql_fetch_row($wynik);

echo $wiersz[0]; // imię
echo $wiersz[1]; // nazwisko

Jeżeli trzeba pobrać wszystkie wiersze, funkcję zwykle umieszcza się w pętli:

while ($wiersz = mysql_fetch_row($wynik)) {
    echo $wiersz[0] . " " . $wiersz[1] . "<br>";
}

Ważne na egzaminie

  • mysql_query() wykonuje zapytanie SQL i zwraca wynik.
  • mysql_fetch_row() pobiera pojedynczy wiersz z tego wyniku.
  • Dane są dostępne przez indeksy liczbowe, np. $wiersz[0].
  • Gdy nie ma kolejnego wiersza, funkcja zwraca false.

Uwaga praktyczna

Funkcje mysql_* są przestarzałe i usunięte z nowszych wersji PHP. W rzeczywistych projektach używa się mysqli lub PDO, ale w starszych pytaniach egzaminacyjnych nadal mogą pojawiać się funkcje takie jak mysql_query() i mysql_fetch_row().