SQL语句--这样查询能能实现吗?
select * from customer where userid='小强'
---------------------------------------------------
以上的语句是取出小强的客户信息
如果是管理员登陆他要取出所有的客户信息,在SQL语句不变,只改变userid值的情况下能实现吗?也就是说有没有一个通配符
类似select * from customer where userid='?'
就能查出所有的客户。
不知道有没有说明白~~
------解决方案--------------------貌似没有这种写法 不过 你这种要求 可以考虑SQL 注入的东东 把select * from customer where userid='?'
构造成 select * from customer where userid='1' or 1=1 --';
传入的部分为 " 1' or 1=1 --" 这样弄可以不改变你的 SQL语句 ,但是存入SQL 注入的漏洞。
最好还是 加一个判断 然后用 select * from customer 查询
------解决方案--------------------管理員登陸的話取所有的客戶信息:
在串SQL時把where條件去掉,或者 改爲 where userid is not null
------解决方案--------------------用 where userid like
------解决方案--------------------你应该是用存储过程来实现的吧
那为什么不在存储过程里面判断一下哦??
如果@userid=0 则查询所有
反之按条件查询
------解决方案--------------------写一个存储过程就行,如果userid 不输入去所有
如果输入小强,久按条件
SQL code
create procedure GetcustomerByuserid
@userid varchar(50) =null
as
select * from customer where userid=@userid or @userid is null