mysql_fetch_array
ger dig en array som kan ha som nycklar:
- både nummer och namn på kolumner, om du använder
MYSQL_BOTH
- kolumnnamn med
MYSQL_ASSOC
-- i det här fallet får du samma sak som du får när du användermysql_fetch_assoc
- endast siffror (beroende på ordningen på kolumner i frågan), om du använder
MYSQL_NUM
Att få resultat indexerade efter kolumnnamn är förmodligen den mest användbara lösningen – åtminstone lättare att använda.
Men att få resultat indexerade efter positionerna för fälten i select-satsen är intressant i en situation:när du har flera kolumner som har samma namn eller alias.
I det här fallet kan du inte ha två poster med samma index i en array kommer du bara att kunna komma åt en av dessa kolumner med kolumnnamnet som index.
För de andra kolumnerna som har samma namn måste du använda numeriska index.
Den situationen är förmodligen det enda fallet där jag skulle använda mysql_fetch_array
-- och jag föredrar att använda alias i min fråga för att undvika den situationen -- det är tydligare, enligt min åsikt.
mysql_fetch_assoc
ger dig en array med kolumnnamn som nycklar och data som värden.
Inte mycket att säga, faktiskt.
Och mysql_fetch_object
kommer att ge dig föremål i gengäld.
Välja mellan mysql_fetch_assoc
och mysql_fetch_object
beror förmodligen på hur du utvecklar din applikation:om du använder objekt överallt, är den andra förmodligen den mest lämpade.
Om du använder arrayer som databehållare kan du bara gå med den första.