在基本级别上,mysql,mysqli和PDO扩展都回答了 如何与数据库对话 的问题 ?
它们都提供了连接数据库以及从数据库发送和检索数据的功能。您可以同时使用它们,一次建立到数据库的多个连接,但这通常是胡说八道。
mysql *是一个非常简单的扩展,基本上可以让您连接到数据库,向其发送SQL查询,而没有太多其他事情。
mysqli通过添加参数化查询和其他一些东西来改善这一点(顾名思义)。
PDO是将多个数据库驱动程序抽象到一个包中的扩展,即它允许您使用相同的代码连接到MySQL,Oracle,MS SQL
Server和许多其他数据库,而无需使用特定于数据库的扩展或在需要时重写代码您切换数据库(至少在理论上)。它还支持参数化查询。
如果您知道将专门使用MySQL,那么mysqli是一个不错的选择。特别是因为您可以按程序方式使用它,所以您已经习惯了mysql扩展。如果您不熟悉OOP,那会很有帮助。否则,PDO是一个不错的面向对象的灵活数据库连接器。
*请注意,现在 不建议使用 mysql扩展名,以后将在某个时候删除它。这是因为它是古老的,充满了不良做法,并且缺乏一些现代功能。不要用它来编写新代码。


![PHP PDO和MySQLi [重复] PHP PDO和MySQLi [重复]](http://www.mshxw.com/aiimages/31/408178.png)
