一个表中有三个字段做联动
使得如果sfcg=0 则隐藏ck和kw这两个字段
反之则出现 这个能否实现
select sfcg,
case when sfcg=0 then null else ck end as ck,
case when sfcg=0 then null else kw end as kw
from tb1
不知道是否不要的结果
隐藏是将字段值设为空?
用if判断一下
select
sfcg,
if(sfcg=0,null,ck) "ck",
if(sfcg=0,null,kw) "kw"
from
tablename
通常在黑盒的环境下,通过构造SQL注入语句,根据页面的特征确定获取敏感信息,布尔型盲注入所需要用到的函数有:SUBSTRING()字符串截,第一个参数是字符串,第二个参数是开始截取,第三个是截取的长度。如图所示:
select database() 查询当前数据库。如图所示:
以上两种最终结合效果:
判断当前数据库,获取第一个字符,然后进行判断字符是否为d是的话为1,否则会0,语句结果如下
select * from users
where user_id
=1 and if(substring(database(),1,1)=‘d’,1,0)
可以使用SQL的条件表达式和CASE语句来实现根据条件隐藏字段的功能。具体实现可以使用以下语句:
SELECT
id,
name,
CASE WHEN sfcg = 0 THEN NULL ELSE ck END AS ck,
CASE WHEN sfcg = 0 THEN NULL ELSE kw END AS kw
FROM
your_table;
在上面的查询中,如果sfcg
字段的值为0,则ck
和kw
字段会被设为NULL,实现隐藏的效果。否则,ck
和kw
字段会正常显示出来。你可以根据自己的具体需求修改上述查询的字段列表和表名。