老师,关于' or 1=1 or 1=' 的疑问。
查询条件拼接后成了
' ' or 1=1 or 1=' '
1、为啥写成1=1,布尔判断的话不应该是1==1 这样写吗?
2、前面 ' ' or 1=1 已经确定恒为true了,再输入后面的 or 1= ' 是为什么呢?
39
收起
正在回答
1回答
同学你好,1. sql语句中的where不需要使用==号,直接使用的等号(=)即可。如:id=1,就是查询id等于1的数据。
2. 在此案例中将数据进行处理预处理,将其转换为一个字符串。如下图所示:查询employee表中dname值为' or 1=1 or 1='字符串的数据。
3. 根据上述描述,'' or 1=1 or 1=''是一个字符串,并不会判断是否为true值。
注:在SQL语句中or是或的意思(||)如:where id=1 or name ='admin'(查询id等于1或name等于admin的数据)
java工程师2020版
- 参与学习 人
- 提交作业 9400 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星