mysql扩展很古老,自15年前发布(PHP)以来一直存在(!!);与现代PHP试图摆脱过去的不良做法相比,它绝对是另一种野兽。mysql扩展是MySQL的非常原始的低级连接器,它缺少许多便利功能,因此很难以安全的方式
正确 应用。因此对菜鸟不利。许多开发人员不了解SQL注入,并且mysql
API十分脆弱,即使您知道它,也很难阻止它。它充满了全局状态(例如,通过了隐式连接),这使得编写难以维护的代码变得容易。由于它已经很旧了,因此在PHP核心级别上可能难以合理地维护。
mysqli扩展很新,可以解决上述所有问题。PDO还是相当新的,并且还解决了所有这些问题,以及更多其他问题。
由于这些原因*,将来会在某个时候删除mysql扩展名。它在鼎盛时期做了自己的工作,相当糟糕,但是做到了。时间在流逝,最佳实践在发展,应用程序变得更加复杂,需要更现代的API。mysql已经退休了,请继续使用。
考虑到所有这些,除了惯性之外, 没有理由 继续使用它。
*这些是我的常识性总结原因;有关整个官方故事,请看这里:https : //wiki.php.net/rfc/mysql_deprecation
该文档中的选择语录如下:
文档团队正在讨论数据库安全状况,并且教育用户摆脱常用的ext / mysql扩展是其中的一部分。
离开ext / mysql不仅关系到安全性,而且关系到可以访问MySQL数据库的所有功能。
ext / mysql很难维护代码。它并没有获得新功能。保持最新以使用新版本的libmysql或mysqlnd版本是可行的,我们可能会花更多的时间。


![为什么不推荐使用PHP的mysql_函数?[重复] 为什么不推荐使用PHP的mysql_函数?[重复]](http://www.mshxw.com/aiimages/31/432840.png)
