Jaka jest różnica między MySQL, MySQLi i PDO ?
Który z nich najlepiej pasuje do PHP-MySQL?
Odpowiedzi:
Istnieją (ponad) trzy popularne sposoby używania MySQL z PHP. To przedstawia kilka cech / różnic PHP: Wybór API :
Polecam używanie PDO z przygotowanymi zestawieniami. Jest to dobrze zaprojektowany interfejs API, który w razie potrzeby pozwoli ci łatwiej przenieść się do innej bazy danych (w tym takiej, która obsługuje ODBC ).
Są to różne interfejsy API umożliwiające dostęp do zaplecza MySQL
Zależy to więc od rodzaju kodu, który chcesz wyprodukować. Jeśli wolisz warstwy obiektowe lub zwykłe funkcje ...
Moja rada byłaby taka
Wydaje mi się również, że API mysql prawdopodobnie zostanie usunięte w przyszłych wydaniach PHP
.
mysqli to ulepszona wersja mysql.
Rozszerzenie PDO definiuje lekki, spójny interfejs dostępu do baz danych w PHP. Każdy sterownik bazy danych, który implementuje interfejs PDO, może udostępniać funkcje specyficzne dla bazy danych jako zwykłe funkcje rozszerzeń.
W szczególności rozszerzenie MySQLi zapewnia następujące niezwykle przydatne korzyści w porównaniu ze starym rozszerzeniem MySQL.
Interfejs OOP (oprócz proceduralnych) Obsługa gotowych instrukcji Obsługa transakcji i procedur składowanych Ładniejsza składnia Ulepszenia szybkości składni Ulepszone debugowanie
Rozszerzenie PDO
Rozszerzenie PHP Data Objects jest warstwą abstrakcji bazy danych. W szczególności nie jest to interfejs MySQL, ponieważ zapewnia sterowniki dla wielu silników baz danych (oczywiście w tym MYSQL).
Celem PDO jest zapewnienie spójnego interfejsu API, co oznacza, że w przypadku zmiany silnika bazy danych zmiany w kodzie, które to odzwierciedlają, powinny być minimalne. Kiedy używasz PDO, twój kod normalnie „działa” w wielu silnikach baz danych, po prostu zmieniając używany sterownik.
Oprócz zgodności z różnymi bazami danych, PDO obsługuje również przygotowane instrukcje, procedury składowane i nie tylko, korzystając ze sterownika MySQL.