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

fetch_assoc vs fetch_object

VPS Starter Arubacloud
+1 głos
265 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 (599,730 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 269 wizyt
pytanie zadane 10 czerwca 2016 w PHP przez yaro Początkujący (340 p.)
–1 głos
3 odpowiedzi 7,302 wizyt
0 głosów
2 odpowiedzi 2,184 wizyt

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...