MySQL,MySQLi和PDO之间有什么区别?[已关闭]

2022-08-30 07:04:17

MySQL,MySQLiPDO之间有什么区别?

哪一个最适合与PHP-MySQL一起使用?


答案 1

有(不止)三种流行的方法可以从PHP使用MySQL。这概述了PHP的一些功能/差异:选择一个API

  1. (已弃用mysql函数是过程性的,并使用手动转义。
  2. MySQLi是mysql函数的替代品,具有面向对象和过程版本。它支持预准备的语句。
  3. PDO(PHP数据对象)是一个通用的数据库抽象层,在许多其他数据库中支持MySQL。它提供了预准备的语句,并且在如何返回数据方面具有很大的灵活性。

我建议将 PDO 与预准备的语句一起使用。它是一个设计良好的 API,如有必要,它可以让您更轻松地移动到另一个数据库(包括任何支持 ODBC 的数据库)。


答案 2

这些是访问MySQL后端的不同API

  • mysql 是历史 API
  • mysqli是历史API的新版本。它应该表现得更好,并具有更好的功能集。此外,该 API 是面向对象的。
  • PDO_MySQL,是用于PDO的MySQL。PDO已经在PHP中引入,该项目旨在为所有数据库访问制作一个通用的API,因此从理论上讲,您应该能够在RDMS之间迁移而无需更改任何代码(如果您在查询中不使用特定的RDBM函数),也是面向对象的。

因此,这取决于您要生成的代码类型。如果您更喜欢面向对象的图层或普通函数...

我的建议是

  1. 断续器
  2. 我的SQLi
  3. mysql

另外,我的感觉是,mysql API可能会在未来的版本中被删除。PHP


推荐