我在 5 年前使用 PHP MySQL 设计了一个网站,并且仍然可以正常运行,没有任何问题。我听说 MySQL 从 PHP 5.5 开始正式弃用,并从 PHP 7 开始删除。此外,PHP 提供了三种不同的 API 来连接到 MySQL(如 MySQL、MySQLi 和 PDO)。我的网络服务器经常更新。
我明白了,为了安全起见,我必须转向更新的 API,例如 MySQLi 或 PDO。现在很迷茫是选择MySQLi还是PDO。另外,是否有适用于这种情况的兼容性/迁移选项?
最佳答案
让我们来看看这两个扩展。
PDO
PDO 是数据库中立的——你只需要学习一个 API 就可以处理几十个 databases
因此,如果您决定迁移到另一个数据库,唯一需要更改的就是 DSN(数据源名称)。
同时支持名称和“?”准备好的语句的占位符。
Drupal 使用 PDO。
Mysqli
另一方面,Mysqli 是专门为 Mysql 数据库设计的,是 Mysql 推荐的。 Mysqli 适用于 Mysql 和 MariaDB 数据库。
仅支持 '?'准备好的语句的占位符。
Joomla 使用 Mysqli
结论
关于 Mysqli 或 PDO 运行速度更快的争论有很多。 Mysqli 和 PDO 使用相同的底层驱动程序访问数据库,因此性能不值得比较。
因此在使用 Mysqli 或 PDO 时没有明显的赢家。但是假设你使用 Mysqli,然后你想使用另一个数据库,这将是一个困难的转换。
PDO 优于 Mysqli 的主要优势是准备好的语句的名称占位符,这就是我选择 PDO 而不是 Mysqli 的原因。
关于php - 我应该将我的网站升级到 PHP MySQLi 还是 PDO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35621448/