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

Co jest lepsze mysqli czy pdo

VPS Starter Arubacloud
0 głosów
1,101 wizyt
pytanie zadane 2 stycznia 2020 w PHP przez Bartek12 Mądrala (5,510 p.)
Witam, chciałbym się dowiedzieć który sposób jest lepszy na łączenie się z bazą danych mysqli, czy PDO oraz dlaczego.

3 odpowiedzi

+3 głosów
odpowiedź 2 stycznia 2020 przez Comandeer Guru (599,730 p.)
wybrane 2 stycznia 2020 przez Bartek12
 
Najlepsza
To są dwa całkowicie różne rozwiązania, przeznaczone do innych problemów.

PDO jest uniwersalną biblioteką do obsługi baz danych. Dostarcza spójnego interfejsu do pracy z różnymi bazami danych: MySQL, PostgreSQL itd. To jest jej główną zaletą, bo stanowi dzięki temu sensowną warstwę abstrakcji na samą bazę danych. Równocześnie to jest też jej największa wada, bo oznacza, że możliwości są sprowadzone do najmniejszego wspólnego mianownika – PDO może obsługiwać tylko te rzeczy, które obsługuje większość baz. Jako warstwa abstrakcji też nie jest często wystarczające, bo najczęściej nie chcemy wiedzieć, skąd i jak są pobierane dane, a po prostu móc na nich operować.

Z kolei mysqli to biblioteka przeznaczona do obsługi baz MySQL. Dzięki temu może oferować funkcje dla ficzerów specyficznych dla MySQL, a równocześnie – może być lepiej optymalizowana pod tę konkretną bazę danych. Dzięki temu może być wydajniejsze niż PDO. Największą wadą tego rozwiązania jest fakt, że kodu nie da się w prosty sposób przenieść do innego środowiska i jest specyficzny dla MySQL. Niemniej jeśli przykryje się to jakąś warstwą abstrakcji (np. wzorcem repozytorium) ta wada nie jest aż tak boląca.

Podsumowując: to zależy, co chcemy osiągnąć, z jakimi bazami danych będziemy pracować i jakiego poziomu abstrakcji potrzebujemy.
0 głosów
odpowiedź 2 stycznia 2020 przez Elzo Obywatel (1,120 p.)
Cześć

Moim zdaniem PDO powinno być używane  szczególnie przez początkujących, ze względu na jego wszechstronność, ogólną przewidywalność i przydatne tryby pobierania.  MySQLi ma wile więcej funkcji dzięki którym jest według mnie lepszy dla zaawansowanych użytkowników.
0 głosów
odpowiedź 2 stycznia 2020 przez Mariusz08 Maniak (62,300 p.)
Używaj tylko PDO, ma wiele fajnych mechanizmów, jak np bindowanie danych do zapytania (co samo w sobie całkiem niszczy SQL Injection)
komentarz 2 stycznia 2020 przez Comandeer Guru (599,730 p.)

mysqli też taki posiada. Natomiast PDO domyślnie ma symulowany tryb prepared statements, który trzeba zmienić na rzeczywisty w celu pełnej ochrony.

Podobne pytania

0 głosów
3 odpowiedzi 91 wizyt
0 głosów
1 odpowiedź 236 wizyt
pytanie zadane 20 maja 2019 w PHP przez manager96 Bywalec (2,050 p.)
0 głosów
1 odpowiedź 171 wizyt
pytanie zadane 11 marca 2021 w SQL, bazy danych przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 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!

...