为什么我不应该在PHP中使用mysql_ *函数?

发布于 2021-02-02 16:36:40

想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。

为什么不应该使用mysql_*功能的技术原因是什么?(例如mysql_query()mysql_connect()mysql_real_escape_string())?

即使我的网站上可以工作,我为什么还要使用其他东西?

如果它们在我的网站上不起作用,为什么会出现类似

警告:mysql_connect():没有这样的文件或目录

关注者
0
被浏览
381
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    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扩展的比较



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看