SQL语句的where
我想做个条件查询的,其中有两个条件,我现在想不限制条件的个数,就是说一个或者2个条件查询都可以。语句是:select*fromtablewhereid=1andsno=2...
我想做个条件查询的,其中有两个条件,我现在想不限制条件的个数,就是说一个或者2个条件查询都可以。语句是:select * from table where id=1 and sno=2
请问下where后面的条件有没能一定满足条件的通配符,就是说我想保留where 后面的sno=这个条件语句,但是我只要他满足了id=1就可以,后面还会有sno=(一个通配符使得它永远成立)。
嘻嘻,哥自己想到了,但是还是谢谢3L和5L,是你们让我想到的,呼呼,我好开心啊
select * from table where id=1 and (sno=‘传进来的值’ or ‘传进来的值'='null') 展开
请问下where后面的条件有没能一定满足条件的通配符,就是说我想保留where 后面的sno=这个条件语句,但是我只要他满足了id=1就可以,后面还会有sno=(一个通配符使得它永远成立)。
嘻嘻,哥自己想到了,但是还是谢谢3L和5L,是你们让我想到的,呼呼,我好开心啊
select * from table where id=1 and (sno=‘传进来的值’ or ‘传进来的值'='null') 展开
5个回答
展开全部
where id = 1 AND (sno = xxx OR 1 = 1)
用这试一下,sql注入的做法.
可是我要的是当sno没值传进来的时候就永远成立,有值传进来就要判断的
这个恐怕做不到。
只能做到说是给sno一个默认值(一个sno永远不可能的值),然后没有参数进来的时候,程序自然去判断1=1从而忽略掉sno = xxxx, 不去判断后面的sno =xxx,
如果有参数进来的时候,程序首先判断sno = 传递来得值,而忽略后面的1=1。
因此必须确保or前后的语句的次序以实现这个
select * from table where id=1 and (sno = xx OR 1 = 1)
sql注入个人能力范围内只能到这个程度了。
用这试一下,sql注入的做法.
可是我要的是当sno没值传进来的时候就永远成立,有值传进来就要判断的
这个恐怕做不到。
只能做到说是给sno一个默认值(一个sno永远不可能的值),然后没有参数进来的时候,程序自然去判断1=1从而忽略掉sno = xxxx, 不去判断后面的sno =xxx,
如果有参数进来的时候,程序首先判断sno = 传递来得值,而忽略后面的1=1。
因此必须确保or前后的语句的次序以实现这个
select * from table where id=1 and (sno = xx OR 1 = 1)
sql注入个人能力范围内只能到这个程度了。
展开全部
可以改造下:
select * from table where id=1 and (sno=参数 or 1=1)
这样 (sno=参数 or 1=1) 就永远是满足的条件。
select * from table where id=1 and (sno=参数 or 1=1)
这样 (sno=参数 or 1=1) 就永远是满足的条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
isnull(sno,'') like '%%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from table where id=1 or sno=2
select * from table where id=1 or sno=2 or(id=3 and sno=3)
select * from table where id=1 or sno=2 or(id=3 and sno=3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不明白你说的是什么意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询