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

MySQL与PDO [重复]

汪信鸥
2023-03-14
问题内容

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

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

6年前关闭。

我对PHP相当陌生,并使用标准的MySQL数据库调用建立了一个中型网站。但是,我最近了解了PDO,并希望从社区中了解是否值得从MySQL切换到PDO。为了安全起见,我一直在使用mysql_real_escape_string

有关该网站的信息:
我混合使用INSERTSELECTSELECT调用返回的数据并不庞大(使用最多返回30条记录LIMIT)。也不会有很多INSERTs。该站点当前未启用,因此现在进行更改很容易。

以您的专业意见,是否值得我花时间将站点从MySQL切换到PDO?还是和MySQL一样好?或者换句话说,如果有的话,现在改用PDO的原因是什么?


问题答案:

与mysql_ *函数相比,PDO具有以下优点:

  • 它是跨数据库的,这意味着它是用于不同关系数据库的相同接口。
  • 它有助于防止SQL注入。
  • 它更加干净(使用面向对象的方法)。

之前已经有人问过这个问题,您可能想看看答案:

  • 从mysql迁移到mysqli或pdo?
  • mysqli或PDO-优缺点是什么?

如果您要开始一个新项目,我强烈建议您使用PDO或更高级别的库/ ORM。如果您已经编写了很多没有它的代码,那可能不值得。



 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 我可以将数组绑定到IN()条件吗? (21个回答) 2个月前关闭。 我对PDO有一个问题,在困扰了一段时间后,我真的很想得到答案。 举个例子: 我将ID数组绑定到PDO语句,以便在MySQL IN语句中使用。 该数组将说: $ values = array(1,2,3,4,5,6,7,8); 数据库安全变量为 $ products = implode(’

  • 问题内容: 这是我到目前为止阅读的内容: 由于MySQL的本机准备绕过了查询缓存,因此PDO的准备仿真在性能上更好。 MySQL的本机准备更好地提高了安全性(防止SQL注入)。 MySQL的本机准备更好地用于错误报告。 我不知道这些陈述的真实性。在选择MySQL接口时,我最大的担心是防止SQL注入。第二个问题是性能。 我的应用程序当前使用过程MySQLi(没有准备好的语句),并且大量利用了查询缓存

  • 这是我到目前为止读到的关于的内容: PDO的prepare仿真性能更好,因为MySQL的本机prepare绕过查询缓存。 MySQL的本机prepare在安全性方面更好(防止SQL注入)。 MySQL的本机prepare更适合错误报告。 我不知道这些说法有多真实了。我在选择MySQL接口时最关心的是防止SQL注入。第二个关注点是业绩。 我的应用程序目前使用过程式MySQLi(没有准备好的语句),并

  • 问题内容: 只是一个简单的问题。 在循环中使用PDO :: fetchAll()和PDO :: fetch()是否有性能差异(对于大型结果集)? 我正在获取用户定义类的对象,如果有什么不同的话。 我最初的未经教育的假设是fetchAll可能会更快,因为PDO可以在一条语句中执行多个操作,而mysql_query只能执行一条。但是,我对PDO的内部工作原理知之甚少,文档也对此一无所知,而fetchA

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: PHP PDO语句可以接受表名称作为参数吗? 我班上有个正在遇到麻烦的函数。这里的功能 我用以下函数调用该函数: 我得到的错误是: 警告:PDOStatement :: execute()[pdostatement.execute]:SQLSTATE [HY093]:无效的参数编号:在第46行的C:\ xampp \ htdoc

  • 问题内容: 这个问题已经在这里有了答案 : mysqli或PDO-优缺点是什么?[已关闭] (13个答案) 6年前关闭。 我刚刚完成了PHP入门课程,并且在整个stackoverflow论坛上,人们都建议我切换到PDO,准备好的语句或MYSQLi,我对手册进行了简短的检查,但其中大部分内容使我无所适从。 到目前为止,我一直在使用mysql_ *函数,因此这些概念对我来说是新的。我认为它们用于访问和