mysql_fetch_array, mysql_fetch_array, mysql_fetch_object

3 Cevap php

Tüm fonksiyonlar çok benzer:

mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()

Geçenlerde ben PHP ile çok daha fazla OOP yapıyorum gibi mysql_fetch_object kullanarak başladı.

Ama onlar içeri kullanılan en iyi hangi senaryo belki neden kullanmak ve en iyi olduğunu ve hangi halklar görüşler nelerdir

Düşüncelerin için teşekkürler!

3 Cevap

mysql_fetch_array , tuşları olarak yaşayabileceğiniz bir dizi alacak:

  • numaraları ve sütun isimleri hem kullanması durumunda, MYSQL_BOTH
  • sütun adları, MYSQL_ASSOC kullanarak - bu durumda, siz kullanırken olsun aynı şeyi alırsınız mysql_fetch_assoc
  • (sorgu sütunların sırasına göre) sayıları yalnızca kullanması durumunda, MYSQL_NUM

Sütunlar isimler tarafından endeksli sonuçlar almak belki de en yararlı çözümdür - en azından, kullanımı daha kolay.

But getting results indexed by the positions of the fields in the select clause is interesting in one situtation : when you have several columns that have the same name or alias.
In this case, as you cannot have two entries with the same index in an array, you will be able to access only one of those columns using the column name as index.
For the other columns that have the same name, you'll have to use numeric indexes.

Ve ben daha ziyade bu durumu önlemek için, benim sorgu adlar kullanmayı tercih - - benim görüşüme göre, daha net olduğunu durum muhtemelen mysql_fetch_array kullanmak hangi için tek durumdur.


mysql_fetch_assoc will get you an array, with columns names as keys, and data as values.

Çok değil aslında, demek.


And mysql_fetch_object will get you objetcs in return.


Choosing between mysql_fetch_assoc and mysql_fetch_object most probably depend on how you develop your application : if using objects everywhere, the second one is probably the most suited.

Veri kapları gibi dizileri kullanarak, sadece ilki ile gidebilirsiniz.

Hangisini kullanmak işlev aynı zamanda tat meselesidir. Ben mysql_fetch_object kullanmayı tercih ()

mysql_fetch_array() fetches a result row as an associative array, a numeric array, or both. It returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows. The type of returned array depends on how $result_type is defined.

MYSQL_ASSOC kullanarak, sadece numara indeksleri olsun ($ satır olarak [0], $ satır 1, vb) yani sayısal dizi.

MYSQL_ASSOC kullanarak, sadece ilişkisel indeksleri olsun ($ row ["id"], $ row ["name"], vb gibi), yani ilişkisel dizi.

MYSQL_BOTH (varsayılan) kullanarak, birleştirici ve numara endeksleri hem de bir dizi alırsınız. ($ Satır olarak [0], $ row ["name"], vb) yani sayısal dizi ve ilişkisel dizi hem de.

mysql_fetch_assoc() bir ilişkisel dizi olarak bir sonuç satırı getirir. (Anahtar olarak kolon isimleri).

mysql_fetch_object() bir nesne olarak sonuç satırını getirir.

Bu getirilen satıra karşılık özelliklere sahip bir nesne döner ve önümüzdeki dahili veri hareket ettirir.

To me there are adantages of using mysql_fetch_assoc() in that you can use the array functions such as array_walk and uasort().