想改进此帖子吗?提供此问题的详细答案,包括引文和解释您的答案正确的原因。没有足够详细信息的答案可能会被编辑或删除。
为什么不应该使用mysql\u*函数的技术原因是什么?(例如mysql\u query(),mysql\u connect()或mysql\u real\u escape\u string())
即使他们在我的网站上工作,我为什么还要使用其他东西
如果他们在我的网站上不起作用,为什么我会出现这样的错误
警告:mysql\u 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扩展的比较