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

mysql_, mysqli_ i PDO

VPS Starter Arubacloud
–1 głos
675 wizyt
pytanie zadane 14 kwietnia 2016 w PHP przez Mariusz O Mądrala (5,290 p.)
Witajcie. Słyszy się wiele, że nie powinno się już stosować (o ile kiedykolwiek się powinno), wszelkich funkcji mysql_, ale chciałbym się nasłuchać/naczytać o tym, by jasno móc powiedzieć "DLATEGO". Dlatego przychodzą 2 pytania / może prośby. Obszukałem nieco internet, najprędzej zabiera mnie to tutoriali mysql_ (choć poszlakowe informacje znalazłem), więc kieruje się do was.

Specjalnie jeszcze wróciłem do kursu PHP, odc. 2, Pana Mirosława. Pamiętałem, że coś o tym wspominał i wyliczając na szybko powody wymienione przez Niego: deprecated od 5.5, usunięte od 7, mają wady, nie obsługują pewnych (?) kwerend, istnieją lepsze funkcje.

I mimo, że usunięcie od wersji PHP7 to wystarczający powód, by przestać używać tych funkcji...

1 - GLOBALNE "Dlaczego" mysqli_ nad mysql_? Czy i w jakim stopniu chodzi tutaj o: Wydajność, bezpieczeństwo, wygodę, czytelność kodu.

Teraz pora na drugą, chyba ważniejszą dla mnie w tym momencie kwestie.

2 - Czy PDO ponad mysqli_? Tutaj również chodzi o wspomniane wyżej kwestie. Ew. jakieś wasze doświadczenia w których, któreś rozwiązane wygrało. Jak programujecie / Jak to robi wasz team / Co widzicie częściej w rozwiązaniach komercyjnych/open source/prywatnych, waszych znajomych?

 

Wstępnie dziękuję za każdą wskazówkę.

2 odpowiedzi

+3 głosów
odpowiedź 14 kwietnia 2016 przez Arkadiusz Waluk Ekspert (288,770 p.)
wybrane 14 kwietnia 2016 przez Mariusz O
 
Najlepsza
http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059
Myślę, że jak to przeczytasz to dużo się dowiesz.

Tak w skrócie mówiąc: PDO jest dużo lepsze, obsługuje różne bazy danych i posiada bindowanie.

A mysql_ w PHP7 już nie istnieje, wcześniej zostało zdeprecjonowane i było nie zalecane. mysqli jest obiektowe, wspiera transakcje i posiada inne ulepszenia. Tutaj jest trochę podane: http://php.net/manual/en/mysqlinfo.api.choosing.php

Tak więc: PDO :)
komentarz 16 kwietnia 2016 przez efiku Szeryf (75,160 p.)

Jak programujecie / Jak to robi wasz team / Co widzicie częściej w rozwiązaniach komercyjnych/open source/prywatnych, waszych znajomych?

Bez dwóch zdań wybieramy: Doctrine ORM I DBAL.

Warstwa abstrakcji na PDO + ORM <3

+1 głos
odpowiedź 14 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
edycja 14 kwietnia 2016 przez Mateusz11

mysql jest zdeprecjonowane od php 5.50,a w php 7 po prostu nie ma takiej funkcji i jak znajdziesz skrypt z mysql, to wyświetli Ci error. indecision

PDO jest lepsze od mysqli

2
komentarz 14 kwietnia 2016 przez Arkadiusz Waluk Ekspert (288,770 p.)

Nieprawda, mysql_ jest zdeprecjonowane od PHP 5.5.0 a w PHP 7 już go po prostu wcale nie ma, jest to wyraźnie napisane np. tutaj więc nie wiem skąd pomysł aby mysql było zdeprecjonowane dopiero w PHP 7. Co chciałeś powiedzieć przez to że był nieodporny nie wiem, ale jeśli chodziło Ci o zabezpieczenie przed sql injection to mysql również je posiadało. Chociaż to fakt, według mnie też PDO jest najlepsze.

1
komentarz 14 kwietnia 2016 przez Comandeer Guru (604,780 p.)
To zabezpieczenie można jednak w skrajnych przypadkach ominąć, co w przypadku prepared statements jest po prostu niemożliwe.

Podobne pytania

0 głosów
2 odpowiedzi 1,229 wizyt
0 głosów
3 odpowiedzi 125 wizyt
0 głosów
1 odpowiedź 261 wizyt
pytanie zadane 20 maja 2019 w PHP przez manager96 Bywalec (2,050 p.)

92,964 zapytań

141,930 odpowiedzi

321,163 komentarzy

62,298 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...