Na poziomie podstawowym rozszerzenia mysql, mysqli i PDO odpowiadają na pytanie jak mam rozmawiać z bazą danych? Wszystkie zapewniają funkcje i funkcje umożliwiające łączenie się z bazą danych oraz wysyłanie i pobieranie z niej danych. Możesz ich wszystkich używać jednocześnie, nawiązując kilka połączeń z bazą danych naraz, ale to zazwyczaj nonsens.
mysql* to bardzo proste rozszerzenie, które w zasadzie pozwala na łączenie się z bazą danych, wysyłanie do niej zapytań SQL i niewiele więcej.
mysqli poprawia to (jak sama nazwa wskazuje) poprzez dodanie sparametryzowanych zapytań i kilku innych rzeczy do mix.
PDO to rozszerzenie, które łączy kilka sterowników baz danych w jeden pakiet, tzn. pozwala używać tego samego kodu do łączenia się z MySQL, Oracle, MS SQL Server i wieloma innymi bazami danych bez konieczności korzystania z bazy danych rozszerzenia lub przepisać kod podczas przełączania baz danych (przynajmniej w teorii). Obsługuje również zapytania parametryczne.
Jeśli wiesz, że będziesz używać wyłącznie MySQL, mysqli to dobry wybór. Zwłaszcza, że możesz go używać w sposób proceduralny, do czego jesteś już przyzwyczajony z rozszerzenia mysql. Jeśli nie znasz OOP, to jest pomocne. Poza tym PDO jest ładnym, zorientowanym obiektowo, elastycznym łącznikiem bazy danych.
* Pamiętaj, że rozszerzenie mysql jest teraz przestarzałe i zostanie usunięty w przyszłości . To dlatego, że jest starożytna, pełna złych praktyk i brakuje jej nowoczesnych funkcji. Nie używaj go do pisania nowego kodu.