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().