Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

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życiu mysql_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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sterownik MySQL JDBC 5.1.33 — problem ze strefą czasową

  2. Jak odinstalować MySQL z Mac OS X?

  3. Jaka jest różnica między łączeniem oddzielonym przecinkami a łączeniem według składni w MySQL?

  4. MICROSECOND() Przykład – MySQL

  5. Automatyczne przełączanie awaryjne replikacji asynchronicznej w MySQL 8.0.22