mysql_fetch_array
da ci tablicę, która może mieć jako klucze :
- zarówno numery, jak i nazwy kolumn, jeśli używasz
MYSQL_BOTH
- nazwy kolumn, używając
MYSQL_ASSOC
-- w tym przypadku otrzymasz to samo, co przy użyciumysql_fetch_assoc
- tylko liczby (w zależności od kolejności kolumn w zapytaniu), jeśli używasz
MYSQL_NUM
Uzyskanie wyników indeksowanych według nazw kolumn jest prawdopodobnie najbardziej użytecznym rozwiązaniem – przynajmniej łatwiejszym w użyciu.
Ale uzyskiwanie wyników indeksowanych według pozycji pól w klauzuli select jest interesujące w jednej sytuacji:gdy masz kilka kolumn o tej samej nazwie lub aliasie.
W tym przypadku, ponieważ nie możesz mieć dwóch wpisów o tej samej nazwie indeks w tablicy, będziesz mógł uzyskać dostęp tylko do jednej z tych kolumn, używając nazwy kolumny jako indeksu.
W przypadku innych kolumn, które mają tę samą nazwę, będziesz musiał użyć indeksów numerycznych.
Ta sytuacja jest prawdopodobnie jedynym przypadkiem, dla którego użyłbym mysql_fetch_array
-- i wolę używać aliasów w moim zapytaniu, aby uniknąć takiej sytuacji -- moim zdaniem jest to bardziej jasne.
mysql_fetch_assoc
da ci tablicę z nazwami kolumn jako kluczami i danymi jako wartościami.
Właściwie niewiele do powiedzenia.
I mysql_fetch_object
w zamian otrzymasz przedmioty.
Wybieranie między mysql_fetch_assoc
i mysql_fetch_object
najprawdopodobniej zależy od tego, jak rozwijasz swoją aplikację:jeśli używasz obiektów wszędzie, prawdopodobnie najbardziej odpowiedni jest ten drugi.
Jeśli używasz tablic jako kontenerów danych, możesz po prostu skorzystać z pierwszego.