刚刚完成了PHP入门课程,并且在整个stackoverflow论坛上,人们都建议我切换到PDO,准备好的语句或MYSQLi,我对手册进行了简短的检查,但其中大部分内容使我无所适从。
到目前为止,我一直在使用mysql_ *函数,因此这些概念对我来说是新的。我认为它们用于访问和执行数据库特定的操作,但是我不确定。
那么PDO,预处理语句和MySQLi有什么区别,它们完成同一任务的功能不同吗?它们在脚本中兼容还是“选择其中一个”?最后,哪个提供了最佳性能?
在基本级别上,mysql,mysqli和PDO扩展都回答了如何与数据库对话的问题?它们都提供了连接数据库以及从数据库发送和检索数据的功能。您可以同时使用它们,一次建立到数据库的多个连接,但这通常是胡说八道。
mysql *是一个非常简单的扩展,基本上可以让您连接到数据库,向其发送SQL查询,而没有太多其他事情。 mysqli通过添加参数化查询和其他一些东西来改善这一点(顾名思义)。 PDO是将多个数据库驱动程序抽象到一个包中的扩展,即它允许您使用相同的代码连接到MySQL,Oracle,MS SQL Server和许多其他数据库,而无需使用特定于数据库的扩展或在需要时重写代码您切换数据库(至少在理论上)。它还支持参数化查询。
如果您知道将专门使用MySQL,那么mysqli是一个不错的选择。特别是因为您可以按程序方式使用它,所以您已经习惯了mysql扩展。如果您不熟悉OOP,那会很有帮助。否则,PDO是一个不错的面向对象的灵活数据库连接器。
*请注意,现在不建议使用 mysql扩展名,以后将在某个时候删除它。这是因为它是古老的,充满了不良做法,并且缺乏一些现代功能。不要用它来编写新代码。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。