当前位置:  开发笔记 > 编程语言 > 正文

使用PHP时MySQL与MySQLi

如何解决《使用PHP时MySQL与MySQLi》经验,为你挑选了5个好方法。

哪个更好,MySQL还是MySQLi?为什么?我应该使用哪个?

我的意思不仅仅是在性能方面,还有其他相关功能.



1> Mark Davidso..:

如果你看看MySQL改进的扩展概述,它应该告诉你需要知道的关于两者之间差异的一切.

主要有用的功能是:

面向对象的接口

支持准备好的陈述

支持多个陈述

支持交易

增强的调试功能

嵌入式服务器支持


还应该注意MySQLi仅适用于MySQL 5+.这不再是真正相关的,但是当MySQLi问世时,MySQL 4仍然是标准.这是扩展分离的部分原因,旧的MySQL驱动程序为了兼容性而留在那里.
值得注意的是,事情在六年内发生了很大的变化.`mysql _*()`现在已被弃用,__将很快被删除.您不应该将它用于新代码.

2> Gordon..:

有一个专门用于帮助在mysql,mysqli和PDO之间进行选择的手册页

http://php.net/manual/en/mysqlinfo.api.choosing.php和

http://www.php.net/manual/en/mysqlinfo.library.choosing.php

PHP团队建议使用mysqli或PDO_MySQL进行新开发:

建议使用mysqli或PDO_MySQL扩展.建议不要将旧的mysql扩展用于新开发.下面提供了详细的特征比较矩阵.所有三个扩展的整体性能被认为是大致相同的.虽然扩展的性能只占PHP Web请求总运行时间的一小部分.通常,影响低至0.1%.

该页面还有一个比较扩展API的功能矩阵.mysqli和mysql API之间的主要区别如下:

                               mysqli     mysql
Development Status             Active     Maintenance only
Lifecycle                      Active     Long Term Deprecation Announced*
Recommended                    Yes        No
OOP API                        Yes        No
Asynchronous Queries           Yes        No
Server-Side Prep. Statements   Yes        No
Stored Procedures              Yes        No
Multiple Statements            Yes        No
Transactions                   Yes        No
MySQL 5.1+ functionality       Yes        No

*http://news.php.net/php.internals/53799

还有一个额外的功能矩阵比较库(新的mysqlnd和libmysql)

http://www.php.net/manual/en/mysqlinfo.library.choosing.php

以及一篇非常详尽的博客文章

http://blog.ulf-wendel.de/2012/php-mysql-why-to-upgrade-extmysql/



3> cletus..:

我放弃了使用mysqli.它太不稳定了.我有使用mysqli崩溃PHP的查询,但使用mysql包工作得很好.此外,mysqli在LONGTEXT列上崩溃了.至少自2005年以来,这种错误已经以各种形式提出并且仍然存在.老实说,我喜欢使用准备好的语句,但mysqli只是不够可靠(并且似乎没有人愿意修复它).如果你真的想要准备好的陈述请与PDO一起使用.


PDO也不是很完美(我用它来运行一些讨厌的coredump),但至少它有更广泛的用户群,所以它可能是一个更安全的赌注.

4> Ross..:

MySQLi代表MySQL的改进.它是MySQL绑定的面向对象的接口,使事情更容易使用.它还为准备好的语句提供支持(非常有用).如果您使用的是PHP 5,请使用MySQLi.



5> MarkR..:

PDO更好的是; 它是一个不那么狡猾的界面,并提供与MySQLi相同的功能.

使用预准备语句很好,因为它消除了SQL注入的可能性; 使用服务器端预处理语句是不好的,因为它增加了往返次数.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有