mysql_fetch_array
ще ви даде масив, който може да има като ключове :
- както номерата, така и имената на колоните, ако използвате
MYSQL_BOTH
- имена на колони, използвайки
MYSQL_ASSOC
-- в този случай ще получите същото, което получавате, когато използватеmysql_fetch_assoc
- само числа (в зависимост от реда на колоните в заявката), ако използвате
MYSQL_NUM
Получаването на резултати, индексирани по имена на колони, е може би най-полезното решение – поне по-лесно за използване.
Но получаването на резултати, индексирани от позициите на полетата в клаузата за избор, е интересно в една ситуация:когато имате няколко колони с едно и също име или псевдоним.
В този случай, тъй като не можете да имате два записа с еднакви индекс в масив, ще имате достъп само до една от тези колони, като използвате името на колоната като индекс.
За другите колони, които имат същото име, ще трябва да използвате числови индекси.
Тази ситуация вероятно е единственият случай, за който бих използвал mysql_fetch_array
– и предпочитам да използвам псевдоними в заявката си, за да избегна тази ситуация – според мен е по-ясно.
mysql_fetch_assoc
ще получите масив с имена на колони като ключове и данни като стойности.
Всъщност няма много за казване.
И mysql_fetch_object
ще получите предмети в замяна.
Избиране между mysql_fetch_assoc
и mysql_fetch_object
най-вероятно зависи от това как разработвате приложението си:ако използвате обекти навсякъде, вторият може би е най-подходящ.
Ако използвате масиви като контейнери за данни, можете просто да продължите с първия.