千家信息网

MYSQL中#和$的区别是什么

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,小编给大家分享一下MYSQL中#和$的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!他们之间的区别用最直接的话来
千家信息网最后更新 2024年11月12日MYSQL中#和$的区别是什么

小编给大家分享一下MYSQL中#和$的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

他们之间的区别用最直接的话来说就是:#相当于对数据 加上 双引号,$相当于直接显示数据。

1、#对传入的参数视为字符串,也就是它会预编译

select * from user where name = #{name}

比如我传一个csdn,那么传过来就是

select * from user where name = 'csdn'

2、$将不会将传入的值进行预编译

select * from user where name=${name}

比如我穿一个csdn,那么传过来就是

select * from user where name=csdn

3、#的优势就在于它能很大程度的防止sql注入,而$则不行。

比如:用户进行一个登录操作,后台sql验证式样的:

select * from user where username=#{name} and password = #{pwd}

如果前台传来的用户名是"wang",密码是 "1 or 1=1",用#的方式就不会出现sql注入,而如果换成$方式,sql语句就变成了

select * from user where username=wang and password = 1 or 1=1

这样的话就形成了sql注入。

4、MyBatis排序时使用order by 动态参数时需要注意,用$而不是#。

以上是MYSQL中#和$的区别是什么的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

就是 内容 参数 数据 方式 用户 篇文章 编译 不行 很大 这样的话 不怎么 之间 也就是 优势 前台 动态 后台 大部分 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 达梦数据库远程连接 一梦江湖怎么查看以前的服务器 小学三年级网络安全作文200字 华为服务器v5如何设置u盘启动 北京麻将软件开发诚信企业 网络安全教育视屏 南昌青山湖区网络安全宣传进网吧 软件开发之后怎么上线 数据库中函数的运用 网络安全讲课开场 互苗网络安全主题活动的 我的世界村民服务器生存 网络安全管理第七章在线测试 注重数字和网络技术的应用 网络安全简称什么意思 梦幻端游浙江服务器 打鱼app软件开发 石家庄最好的科技互联网公司 迷你世界打电话显示服务器异常 数据库恢复技术建立索引 怎么买虚拟服务器账号 手机好用期货软件开发 南关区资质网络安全服务保障 校园内从管理上保证网络安全运行 生物信息数据库建设与指南 对软件开发 念念不忘 计算机软件开发都要用哪些 系统维护和软件开发 我的世界最混乱的服务器谁拯救了 监控中用的服务器有啥作用
0