SELECT MAX(sm_version) AS version_latest,
user_type AS role_performed
FROM usage_database
WHERE user_id LIKE ( '"+%eid_upper+"' )
OR user_id LIKE ( '"+eid_lower+"' )
GROUP BY user_type
这是我的查询。我以这样的方式设计了数据库,我必须在查询中%
。如果我在SQL开发人员上执行此查询,那么它可以正常工作。但是当我在Java代码中执行此操作时,我将其放入JSP文件中,然后发生以下错误:
令牌“%”上的语法错误,无效的表达式
我做错了什么,如何解决?
答案 0 :(得分:4)
WHERE user_id LIKE ( '%"+eid_upper+"' )
答案 1 :(得分:1)
使用预准备语句和绑定变量!
where user_id like ( '%' || ? )
答案 2 :(得分:0)
我对JSP不好,但是如果要将它用作SQL通配符,%
不应该成为查询字符串的一部分吗?,即
WHERE user_id LIKE ( '%"+eid_upper+"' )
编辑:关于SQL注入的常见评论,yada yada yada