PDO是实现mysqli还是mysql

Posted

技术标签:

【中文标题】PDO是实现mysqli还是mysql【英文标题】:Does PDO implements mysqli or 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 的情况下进行连接。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

php_mysql 也不支持存储过程。 @user2308038 在您的服务器上安装mysqli 扩展并使用本教程php.net/manual/en/book.mysqli.php【参考方案3】:

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

喜欢:

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 时,您会发现类似的问题。

【讨论】:

以上是关于PDO是实现mysqli还是mysql的主要内容,如果未能解决你的问题,请参考以下文章

mysql连接选mysqli还是PDO

mysql,mysqli和PDO的区别

php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例

转载 pdo

从 mysql 过渡到 MySQLi 或 PDO

PHP 连接 MySQL