为什么我不应该在PHP中使用mysql_ *函数?
想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。
为什么不应该使用mysql_*
功能的技术原因是什么?(例如mysql_query()
,mysql_connect()
或mysql_real_escape_string()
)?
即使我的网站上可以工作,我为什么还要使用其他东西?
如果它们在我的网站上不起作用,为什么会出现类似
警告:mysql_connect():没有这样的文件或目录
-
MySQL扩展:
- 没有积极发展
- 被 正式 弃用的PHP 5.5(发布2013年6月)。
- 自PHP 7.0(2015年12月发布) 起 已 完全删除。
- 这意味着截至2018年12月31日,任何受支持的PHP版本中都不存在该文件。如果使用的PHP版本支持该版本,则使用的版本不会解决安全问题。
- 缺乏OO接口
- 不支持:
- 非阻塞异步查询
- 预备语句 或参数化查询
- 储存程序
- 多条陈述
- 交易次数
- “新”密码身份验证方法(MySQL 5.6中默认为启用; 5.7中为必需)
- MySQL 5.1或更高版本中的任何新功能
由于不建议使用,因此使用它会使您的代码不再受将来的考验。
缺少对准备好的语句的支持尤为重要,因为它们提供了比使用单独的函数调用手动转义更清晰,更少出错的转义和引用外部数据的方法。
请参见 SQL扩展的比较 。
-
为什么我不应该在 PHP 中使用 mysql_* 函数?
2021-07-06 关注 0 浏览306 1答案
-
为什么我不应该在继承中使用平等?
2021-01-30 关注 0 浏览71 1答案
-
为什么不应该在类的构造函数中使用Thread.start()?
2021-01-30 关注 0 浏览129 1答案
-
为什么不应该在参数中使用 Java 8 的 Optional
2022-03-22 关注 0 浏览66 1答案
-
为什么我们不应该在Java中使用受保护的静态
2021-01-31 关注 0 浏览84 1答案
-
如果PyPy快6.3倍,为什么我不应该在CPython上使用PyPy?
2021-01-29 关注 0 浏览106 1答案
-
为什么我们不应该在py脚本中使用sys.setdefaultencoding(“ utf-8”)?
2021-02-02 关注 0 浏览115 1答案
-
为什么我不应该在生产环境中打开“ antiJARLocking”?
2021-02-01 关注 0 浏览93 1答案
-
为什么我不应该在JNI中重用jclass和/或jmethodID?
2021-01-30 关注 0 浏览82 1答案
-
为什么不应该使用PHP的mail()函数?
2021-02-02 关注 0 浏览361 1答案