select * from 表 where 字段 like '%" textbox.text.replace("'","''").replace("[","[[]") "%' 额。那是这样
用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用: WHERE ColumnA LIKE '%5/%%' ESCAPE '/' 在上述 LIKE 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %。 在方括号 ([ ]) 中只包含通配符本身。要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符: WHERE ColumnA LIKE '9[-]5' select * from tb where col like '%A%/[%B]%' escape '/' LIKE '5[%]' 5% LIKE '[_]n' _n LIKE '[-acdf]' -, a, c, d, or f LIKE '[ [ ]' [ LIKE ']' ]
如果LZ的意思是上面几位说的那样,用上面的方法就行, 如果LZ的意思是输入英文符号是会影响SQL语句的话,那就用参数化。 Google SQL注入
应该这样
select * from 表 where 字段 like '%[[]%'
如查 qqqq[],[wwwwww],3333333 [ ] , 都是英文状态下输入的,中文输入状态下可以查 就英文输入状态下输入的信息查不了
如查 qqqq[],[wwwwww],3333333 [ ] , 都是英文状态下输入的,中文输入状态下可以查 就英文输入状态下输入的信息查不了
应该是textbox.text替换[成[[],如下:
qqqq[[]],[[]wwwwww],3333333 [[] ]
额。那是这样
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
在上述 LIKE 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %。
在方括号 ([ ]) 中只包含通配符本身。要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符:
WHERE ColumnA LIKE '9[-]5'
select * from tb where col like '%A%/[%B]%' escape '/'
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]
如果LZ的意思是输入英文符号是会影响SQL语句的话,那就用参数化。
Google SQL注入