基本レベルでは、mysql、mysqli、およびPDO拡張機能はすべて、データベースと通信するにはどうすればよいですか?という質問に答えます。 これらはすべて、データベースに接続し、データベースからデータを送受信するための機能を提供します。それらすべてを同時に使用して、データベースへの複数の接続を一度に確立できますが、それは通常意味がありません。
mysql *は非常に単純な拡張機能であり、基本的にデータベースに接続してSQLクエリを送信するだけで、他の多くのことはできません。
mysqliは、パラメーター化されたクエリやその他のいくつかのものをミックス。
PDOは、複数のデータベースドライバーを1つのパッケージに抽象化する拡張機能です。つまり、データベース固有のデータベースを使用せずに、同じコードを使用してMySQL、Oracle、MS SQL Server、およびその他の多数のデータベースに接続できます。データベースを切り替えるときに拡張機能を使用したり、コードを書き直したりします(少なくとも理論的には)。パラメータ化されたクエリもサポートします。
MySQLを排他的に使用することがわかっている場合は、mysqliが適しています。特に、手続き的な方法で使用できるため、mysql拡張機能からすでに慣れているものです。 OOPに慣れていない場合は、それが役立ちます。それ以外の場合、PDOは優れたオブジェクト指向の柔軟なデータベースコネクタです。
*mysql拡張機能