• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

fetch_assoc vs fetch_object

Object Storage Arubacloud
+1 głos
270 wizyt
pytanie zadane 16 sierpnia 2018 w PHP przez matizuu Obywatel (1,100 p.)
Lepiej używać "mysqli_fetch_assoc" czy "mysqli_fetch_object"?
komentarz 16 sierpnia 2018 przez Mariusz08 Maniak (62,300 p.)
PDO.
komentarz 16 sierpnia 2018 przez Programista 22 Bywalec (2,270 p.)
No zależy co chcesz. mysqli_fetch_assoc zwraca tablice associacyjną a mysqli_fetch_object obiekt. Nie ma "lepszej" metody.

2 odpowiedzi

+2 głosów
odpowiedź 16 sierpnia 2018 przez MaciejKrak Użytkownik (540 p.)
wybrane 16 sierpnia 2018 przez matizuu
 
Najlepsza
Wszystko zależy od tego jak wygląda struktura i nazwy pól w bazie i jakiego typu dane są wyciągane.

Np jeśli masz ładnie skonstruowaną bazę np Imie Nazwisko AdresZamieszkania to z tego stworzysz sobie w miarę ładne wyjście jako obiekt, ale jeśli masz bardzo dużo pól, i potem z tych pól będziesz tworzyć instancję jakiejś klasy - albo wiele instancji - modelu danych to - iteracja nie będzie tak naturalna jak uzywając tablic (z mysli_fetch_assoc bedziesz mieć tablice) - sama reprezentacja w var_dump wygląda czasami lepiej jako tablica asocjacyjna niż z góry na dół stdObj które i tak należało by przypisać do jakiej konkretnej klasy.

Dodatkowo - jesli dane będą tabelaryczne/numeryczne i bardzo duże to dla optymalizacji lepiej użyć fetcha raw i  stworzyć płaskie tablice.

Trzeba pamietać że tworzenie tablicy assocjacyjnej czy obiektu poprostu trwa.

Wybór zależy od Ciebie i od tego z czym będzie się łatwiej pracowac.

Polecam też pomyśleć nad jakimś ORM'em
+1 głos
odpowiedź 16 sierpnia 2018 przez Comandeer Guru (601,110 p.)
Rozwijając odpowiedź MaciejKrak: lepsze jest IMO mysqli_fetch_object, jeśli chcesz mieć najprostszą możliwą implementację ORM-a. Tej metodzie można bowiem przekazać drugi parametr, który określa, do jakiej klasy mają być pakowane dane. Tej klasie można od razu zaimplementować interfejsy tablicowe, żeby dało się ją normalnie iterować w pętlach itp. itd. Mapowanie na obiekty daje o wiele większe możliwości.

Podobne pytania

0 głosów
2 odpowiedzi 275 wizyt
pytanie zadane 10 czerwca 2016 w PHP przez yaro Początkujący (340 p.)
–1 głos
3 odpowiedzi 7,351 wizyt
0 głosów
2 odpowiedzi 2,213 wizyt

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...