什么时候应该使用MySQLi而不是MySQL?

Sem*_*ium 15 php mysql mysqli

有人可以为我澄清使用MySQLi而不是MySQL的优点和缺点吗?有没有我不应该使用MySQLi的情况?我是否需要以不同方式配置我的服务器才能使用MySQLi?例如,我是否需要升级Apache或PHP以便支持MySQLi?

Rep*_*pox 34

你应该使用MySQLi扩展而不是MySQL扩展的原因有很多:

  1. MySQLi为您提供了准备好的语句 - 一种更安全的方式将数据发送到MySQL并保护您免受SQL注入.仅此一点就足以让我们始终选择MySQLi而不是MySQL.
  2. MySQLi支持大多数MySQL功能.
  3. MySQLi是面向对象的.
  4. MySQLi支持预处理语句,事务和多个语句.
  5. PHP 5.5.0开始,旧的MySQL扩展已弃用

还有其他好处.但主要是,你应该专注于安全性和稳定性 - 而MySQLi就是这样.

  • 我不会把准备好的陈述称为"更安全".我会说更容易保持安全. (8认同)

You*_*nse 8

PHP团队拒绝进一步支持mysql扩展.这个理由足够了.

所有其他原因没有多大意义:

  • MySQLi为您提供了准备好的语句 - 可以使用旧的mysql与手动处理的plaeholders,使其更安全.仅这一点就应该阻止MySQL进行无用的弃用.
  • MySQLi支持大多数 PHP用户从未听说过的大多数MySQL功能.
  • MySQLi是面向对象的 - 一对直接的手可以在几个小时内使旧的mysql objec定向.
  • *MySQLi支持

所以,没有任何优势.
如果你想与不推荐但可用的扩展相处 - 请选择PDO.

  • 你的分数真的很愚蠢 - 抱歉.为什么我已经花了好几个小时用已经有物品的物体制造物体?说大多数人都没有听说过许多mysql功能是荒谬的,甚至不值得争论,因为它没有任何意义(完全主观).另外,我经常需要多个陈述.只是因为你不知道如何使用mysql并不意味着其他人也不知道. (5认同)