当前位置: 首页 > 面试题库 >

PHP PDO和MySQLi [重复]

端木鹏
2023-03-14
问题内容

这个问题已经在这里有了答案

mysqli或PDO-优缺点是什么?[已关闭] (13个答案)

6年前关闭。

我刚刚完成了PHP入门课程,并且在整个stackoverflow论坛上,人们都建议我切换到PDO,准备好的语句或MYSQLi,我对手册进行了简短的检查,但其中大部分内容使我无所适从。

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

那么PDO,预处理语句和MySQLi有什么区别,它们完成同一任务的功能不同吗?它们在脚本中兼容还是“选择其中一个”?最后,哪个提供了最佳性能?

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

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

哪一个又快又轻-mysqli或PDO

mysqli或PDO-优缺点是什么?


问题答案:

在基本级别上,mysql,mysqli和PDO扩展都回答了 如何与数据库对话 的问题
它们都提供了连接数据库以及从数据库发送和检索数据的功能。您可以同时使用它们,一次建立到数据库的多个连接,但这通常是胡说八道。

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

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

*请注意,现在 不建议使用 mysql扩展名,以后将在某个时候删除它。这是因为它是古老的,充满了不良做法,并且缺乏一些现代功能。不要用它来编写新代码。



 类似资料:
  • 我正在尝试运行两个stmt并将它们与php绑定。当我刚刚运行$stmt并删除所有$stmt2时,它工作得很好。我试图将“活动”列更改为零。基本上试图搜索和更新用户上传的所有其他图片并将其更改为零(因此它不是个人资料图片),只有最近的一张应该是活动的($active中的1)。

  • 问题内容: 这个问题已经在这里有了答案 : 如何将mysql更改为mysqli? (11个答案) 3年前关闭。 因此,由于不推荐使用MYSQL,并且eveyone不断告诉我进行更新,所以我认为这是我做的时间。 但是由于我不习惯mysqli_ *,对我来说似乎有些陌生。当我用Mysql编码整个网站时,这不是一个简单的编辑。 所以我想知道:如何将以下代码转换为Mysqli?只是为了给我和其他任何人一个

  • 我试图转换一个旧网站使用mysqli而不是mysql。 用这段代码打一个stumberling块 我不断地犯错误 如果我添加这样的连接 获取错误 有人能告诉我我做错了什么吗 非常感谢

  • 问题内容: 这个问题已经在这里有了答案 : 如何防止PHP中进行SQL注入? (28个答案) 7年前关闭。 我已经建立了一个网站,该网站即将上线,并且有几个关于防止SQL注入的问题,我知道如何使用,但是我只是想知道是否必须在要获取的所有变量上使用它SQL语句,是否在执行select语句时还是在插入更新和删除时必须使用它?另外,在我将网站投入使用之前,您还建议我实施哪些其他安全措施,在此先感谢您的帮

  • 当我们想要显示mysqli的错误时,我们使用以下示例: 如果出现错误,可能会这样说: 有没有办法显示这个错误来自哪个源文件?

  • 如何避免在PHP MYSQLi中插入重复记录?这是我的剧本: