gpt4 book ai didi

PHP PDO 和 MySQLi

转载 作者:IT老高 更新时间:2023-10-28 13:00:02 25 4
gpt4 key购买 nike

我刚刚完成了一个 PHP 入门类(class),在整个 stackoverflow 论坛上,人们都建议我切换到 PDO、prepared statements 或 MYSQLi,我简要地查看了手册,但大部分内容都超出了我的想象。

到目前为止,我一直在使用 mysql_* 函数,所以这些概念对我来说是新的。我认为它们用于访问和执行特定于数据库的操作,但我不确定。

那么 PDO、prepared statements 和 MySQLi 之间有什么区别,它们是完成相同任务的不同功能吗?它们在脚本中是兼容的还是“选择一个或另一个”?最后,哪个性能最好?

更新:感谢您的回答,我将寻找更多 PDO 教程。

作为引用,我还发现以下帖子很有用:

Which one is fast and light - mysqli or PDO

mysqli or PDO - what are the pros and cons?

最佳答案

在基本级别上,mysql、mysqli 和 PDO 扩展都回答了这个问题我如何与数据库通信?它们都提供了连接到数据库并发送和检索数据的功能和功能它。您可以同时使用它们,一次建立到数据库的多个连接,但这通常是无稽之谈。

mysql* 是一个非常简单的扩展,基本上可以让您连接到数据库,向其发送 SQL 查询,仅此而已。
mysqli 通过添加参数化查询和其他一些东西来改进这一点(顾名思义)。
PDO 是一种将多个数据库驱动程序抽象到一个包中的扩展,即它允许您使用相同的代码连接到 MySQL、Oracle、MS SQL Server 和许多其他数据库,而无需使用特定于数据库的扩展或重写您的代码您切换数据库(至少在理论上)。它还支持参数化查询。

如果您知道您将专门使用 MySQL,mysqli 是一个不错的选择。特别是因为您可以以程序方式使用它,您已经习惯了 mysql 扩展。如果您不熟悉 OOP,那会很有帮助。否则,PDO 是一个很好的面向对象、灵活的数据库连接器。


* 注意mysql扩展名is now deprecated and will be removed sometime in the future .那是因为它很古老,充满了不良做法,缺乏一些现代特征。不要用它来编写新代码。

关于PHP PDO 和 MySQLi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com