【问题标题】:Does PDO implements mysqli or mysqlPDO是实现mysqli还是mysql
【发布时间】:2013-04-18 20:00:53
【问题描述】:

我正在使用 PDO,我收到了这条消息,但据我发现,我认为 PDO 实际上实现了 mysqli。

您正在使用 PHP 已弃用的 'mysql' 扩展,该扩展无法使用 处理多个查询。 一些存储例程的执行 可能会失败!请使用改进的“mysqli”扩展名以避免任何 问题。

那我为什么会收到这条消息?

【问题讨论】:

  • 是的 mysql_* api 已被弃用,您必须使用新的 api 来连接数据库,如 pdo 或 mysqli
  • @ArunKillu 所以如果我使用 pdo 就不需要 mysqli 了吧?
  • 是的。 PDO 实现 mysqli 而不是 mysql。只需查看最新版本即可。
  • 我想了解更多有关 PDO 版本的详细信息以及您的设置中的其他内容是否可以在没有 PDO 的情况下进行连接。

标签: php mysql


【解决方案1】:

这几乎就像问DOMDocumentSimpleXML 之间有什么区别,或者phppython 之间有什么区别。它们是不同的库,尽管它们都用于连接 MySQL 数据库服务器。

PHP 已经完成quite a nice job of cataloging the differences

【讨论】:

    【解决方案2】:

    Mysql 不支持一次运行多个查询。 Mysql 也不支持prepared statement。因为你必须使用 Mysqli,它支持两者。

    【讨论】:

    【解决方案3】:

    之前有很多关于这个话题的讨论。你最好在互联网上搜索(即使只在 Stackoverflow 中)。

    喜欢:

    What is difference between mysql,mysqli and pdo?

    Difference between mysqli and mysql?

    你需要做更多的研究。批判性地思考并成为一名程序员。 ;)

    【讨论】:

    • 我不是在问它们之间的区别。我在问为什么使用 PDO 会提示该消息,因为我发现 PDO 实际上实现了 mysqli。
    • 那么,第一个链接会更适合你。
    【解决方案4】:

    我以为PDO实际上实现了mysqli。

    很好的问题,但错误。 PDO 实现了接口,以便您可以使用所有数据库系统。因此,它无法实现mysqli 中的某些功能,因为它们需要一些尚未为 SQLite 模拟的特殊功能!当您比较 PDO 和 pgsql_ API 时,您会发现类似的问题。

    【讨论】:

      猜你喜欢
      • 2011-06-26
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      • 2012-07-24
      相关资源
      最近更新 更多