• 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

42 Warsaw Coding Academy
0 głosów
2,031 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 (607,060 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,280 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 (607,060 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 226 wizyt
0 głosów
1 odpowiedź 302 wizyt
pytanie zadane 20 maja 2019 w PHP przez manager96 Bywalec (2,050 p.)
0 głosów
1 odpowiedź 336 wizyt
pytanie zadane 11 marca 2021 w SQL, bazy danych przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

93,377 zapytań

142,380 odpowiedzi

322,530 komentarzy

62,727 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...