• 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

Object Storage Arubacloud
0 głosów
1,195 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 (601,590 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 (601,590 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 98 wizyt
0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 20 maja 2019 w PHP przez manager96 Bywalec (2,050 p.)
0 głosów
1 odpowiedź 181 wizyt
pytanie zadane 11 marca 2021 w SQL, bazy danych przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 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!

...