如何解决用户密码中含有特殊字符的查询??????

老鱼趣多多 2006-03-16 09:53:21
如何解决用户密码中含有特殊字符的查询??????

比如用户名:aaaa
密码:ame×!&an

怎样构建SQL查询语句???谢谢了。
...全文
752 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wizardblue 2006-03-16
PreparedStatement pStmt=null;
pStmt=conn.prepareStatement(sql);
pStmt.setString(1,name);
pStmt.setString(2,password);
回复
没看懂
guo__peng(guo__peng) 说这是防SQL注入? 这种写法明明最防不了.
回复
beikexp 2006-03-16
换一种思路,把特殊字符换掉
密码用明码存就是失败的
加密吧...
回复
guo__peng 2006-03-16
楼主的意思是不是要防止SQL注入呀!但是还得允许用户的密码里有特殊字符。
回复
螃蟹k3179 2006-03-16
可能我理解错了.
回复
螃蟹k3179 2006-03-16
能取出来吧?是不是忘了转意字符前加\
回复
hongxua 2006-03-16
楼主可以试试二楼提供的办法,应该可以解决。
我用这种办法,'可以直接insert数据库里,不用处理。
回复
老鱼趣多多 2006-03-16
就是说比如,

用户在登录页面,输入用户名,密码,

而密码包含特殊字符,

用正常的匹配语句就查询不出来用户的这条记录了。
÷
我是想询问这条查询SQL该如何构造。
回复
ibiswang 2006-03-16
用Preparestatement: select * from user where username=? and pass=?

回复
giant216 2006-03-16
不明白楼主的意思,是不让输入特殊字符还是从数据库里取不出相应的字段阿??????
回复
guo__peng 2006-03-16
用参数查询
String sql="select userName,userPassword from users where userName=? and userPassword=?";
PreparedStatement pStmt=null;
pStmt=conn.prepareStatement(sql);
pStmt.setString(1,name);
pStmt.setString(2,password);
回复
老鱼趣多多 2006-03-16
strSql = "SELECT * FROM USER WHERE UID=" + uid + "AND PWD="+pwd;
这条语句只满足普通情况。
回复
piaopiao11 2006-03-16
用PreparedStatement
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-16 09:53
社区公告
暂无公告