czwartek, 10 czerwca 2021

MySQLi vs.PDO. Które połączenie jest lepsze?

 Temat będzie dotyczył połączeń MySQLi i PDO, które do dziś są stosowane w aplikacjach przez programistów PHP. Napiszę, które jest lepsze, i które warto stosować. I na koniec, rozwieję jedną totalną bzdurę, którą można przeczytać na forach dotyczących PDO i MySQLi.

Kiedyś, kiedy pisano aplikację w PHP w połączeniu z bazą danych, to stosowano się przeważnie mysql_connect i mysql_query. Dziś są to stare i wyłączone funkcje połączeń z bazą, jak i zapytań do bazy danych. I po mysql_connect, w PHP powstało połaczenie new mysqli i jeszcze później PDO.

No właśnie, to które połączenie jest lepsze, mysqli czy PDO?

Stosując new mysqli jesteśmy skazani tylko na jedną bazę danych, a taką jest baza MySQL. Czy to wada, czy zaleta? To zależy, co tworzymy, i dla kogo. Jeżeli nasza aplikacja np: CMS ma być tylko instalowany na jednej bazie danych, to można użyć połączenia mysqli. Jednak w dzisiejszych czasach, liczy się możliwość instalacji na wielu platformach serwerowych, niż tylko na jednej. Wiem, platforma kojarzyć może się z systemem operacyjnym a nie bazą danych, ale tak to nazwałem.Dlatego, stosując połączenie mysqli a dokładniej new mysqli, nie zainstalujemy, nie wdrożymy naszej aplikacji na innej bazie danych! Można zapomnieć o SQL Server, Oracle, Postgree SQL, itd. Dlatego, ważna jest możliwość zainstalowania na wielu serwerach bazy danych, niż tylko na jednej. 

Stosując PDO, możemy napisaną aplikację wdrożyć/użyć na każdej bazie danych, a nie tylko jednej. I to jest przewaga PDO nad mysqli. Jeżeli chodzi o samo stosowanie mysqli, to nie ma w tym nic złego. Większość hostingów ma obsługę języka PHP, i stosowanie nie jest czymś złym. Jest jedna uwaga, bez względu, czy stosujemy mysqli, czy PDO, warto zwrócić uwagę na wersję PHP. Może tak być, że kolejna wersja PHP, nie będzie obsługiwała mysqli, to tylko kwestia czasu.

Sam jeszcze korzystam z mysqli, i nie uważam, aby w tym coś było złego. A teraz, na koniec rozwieje totalną głupotę.

TOTALNA GŁUPOTA: Każdy myślący/profesjonalny programista PHP nie będzie używał mysqli, tylko PDO

Takiej głupoty jeszcze nie czytałem. Można stworzyć bardzo dobrą aplikację np: CMS, forum itd., stosując połączenie mysqli. Tylko, jak wyżej napisałem. Dziś liczy się możliwość instalacji na wielu bazach danych, niż na jednej. Stosując mysqli, jesteśmy ograniczeni/lub nie (zależy od aplikacji), tylko do jednej bazy. Przy PDO, możemy użyć każdej, pod warunkiem, że PDO obsługuję taką bazę danych.