MySQLi 和 PDO 有什么区别?

sam*_*sam 6 php mysql mysqli pdo

我最近开始学习PHP。我开始知道有很多变化,SQL 现在被避免并被MySQLi取代,但后来我开始了解 PDO。关于这两个主题,我已经看过很多帖子,但每个人都有自己的看法,我很困惑。许多帖子都说 MySQLi 支持过程和面向对象的方法,而 PDO 仅支持面向对象的方法。

我想知道的是:

  1. 这两个(PDO 和 MySQLi)只是做同一件事的两种不同方式还是彼此不同?

  2. 如果它们只是做同一件事的两种不同方式,那么它们之间有什么区别,哪一种是执行任务的更好方式?

  3. 如果学习MySQLi,面向对象和过程中哪个更好?

对于某些人来说,这似乎是一个广泛的问题,但如果有人能对这三个问题给出具体的答案,我将非常感激。

Sve*_*sen 1

PDO是访问数据库的接口:

PHP 数据对象 (PDO) 扩展定义了一个轻量级、一致的接口,用于访问 PHP 中的数据库。每个实现 PDO 接口的数据库驱动程序都可以将特定于数据库的功能公开为常规扩展函数。请注意,您无法单独使用 PDO 扩展来执行任何数据库功能;您必须使用特定于数据库的 PDO 驱动程序来访问数据库服务器。(来源

MySQLi 是用于访问 MySQL 数据库的扩展:

mysqli 扩展允许您访问 MySQL 4.1 及更高版本提供的功能。(来源

您应该使用哪一种主要基于意见,并且不太适合 Stack Overflow 格式。