【问题标题】:Difference between mysqli and mysql? [duplicate]mysqli和mysql的区别? [复制]
【发布时间】:2011-08-04 05:55:43
【问题描述】:

可能重复:
Advantages Of MySQLi over MySQL

我正在构建一个大型数据库,想知道哪个最好用?

我现在正在清理我的值并转义字符以确保安全,但我想知道这些 mysql 查询在 php 中的不同好处?

谢谢。

【问题讨论】:

标签: php mysql mysqli


【解决方案1】:

在旧的 MySQL 函数上使用 MySQLi。 “i”代表“改进”。改进列表见the docs

【讨论】:

  • 我已经写了一个用户创建、验证和登录的普通mysql函数,改变它的安全性有那么大的好处吗?
  • 主要的改进将是它也是 OOP,@Basic,这可能就足够了,但你会生活在过去,我的朋友,你需要了解最新的库以能够充分利用最新功能和重要更新。
  • 旧的mysql_* 函数也可能最终被弃用。
【解决方案2】:

首先,您最好在您的代码和 PHP 提供的数据库函数之间使用 PDO(如 Lior 建议的那样)或中间层(由您编写),这样您就可以轻松地使用 mysqli 或任何您喜欢的方式更改 mysql,而无需重新编辑你的整个代码。

就区别而言,mysqli的功能更多(有一堆新功能),而且也是面向对象的。

【讨论】:

    【解决方案3】:

    为什么不改用 PDO?您可以从那里的其他功能中获得准备好的语句的好处,如果您决定有一天迁移到另一个数据库,这将被证明是一个明智的决定。

    http://php.net/manual/en/book.pdo.php

    如果您坚持使用上述选项之一,MySQLi 基本上是标准 mysql 扩展的一种更面向对象的方法。在大多数情况下,它们在功能方面是相同的。如果您正在构建基于 OOP 的应用程序,MySQLi 可能是更明智、更一致的选择。

    【讨论】:

      【解决方案4】:

      在我看来,主要区别(改进)是 mysqli 允许您执行多个查询;这反过来又允许您使用out 参数或返回结果集来执行(并从中检索结果)存储过程。

      我同意其他人的观点,虽然使用 PDO 是更好的选择。

      【讨论】:

        【解决方案5】:

        对于所有说要使用 PDO 的人。它仅适用于准备好的陈述吗?因为you can do prepared statements in mySQLi without PDO。仅供参考。

        【讨论】:

        • 是的,但您有没有尝试在生产中使用它们?它们是可用性的噩梦。 PDO 的界面只是更好
        猜你喜欢
        • 2012-12-18
        • 2011-01-12
        • 2011-04-22
        • 2017-10-24
        • 2010-11-17
        • 2017-03-31
        • 2021-04-26
        • 1970-01-01
        • 2012-12-19
        相关资源
        最近更新 更多