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')
展开
 我来答
flyingFish211
推荐于2018-05-11 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
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注入个人能力范围内只能到这个程度了。
xiaohua0791
2010-12-30 · TA获得超过187个赞
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:159万
展开全部
可以改造下:
select * from table where id=1 and (sno=参数 or 1=1)

这样 (sno=参数 or 1=1) 就永远是满足的条件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pro_str
2010-12-30 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:103万
展开全部
isnull(sno,'') like '%%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
54starwang
2010-12-30 · TA获得超过100个赞
知道答主
回答量:59
采纳率:100%
帮助的人:38.2万
展开全部
select * from table where id=1 or sno=2
select * from table where id=1 or sno=2 or(id=3 and sno=3)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
掌瞬爱A
2010-12-30 · TA获得超过1309个赞
知道小有建树答主
回答量:1137
采纳率:87%
帮助的人:378万
展开全部
不明白你说的是什么意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式