【发布时间】:2010-09-20 01:25:15
【问题描述】:
我正在编写一个搜索函数,并且已经想到了使用参数来防止或至少限制 SQL 注入攻击的这个查询。但是,当我通过我的程序运行它时,它不会返回任何内容:
SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
可以这样使用参数吗?还是它们仅在以下情况下有效:
SELECT * FROM compliance_corner WHERE body LIKE '%<string>%'(其中<string> 是搜索对象)。
编辑:我正在用 VB.NET 构建这个函数,这对你们贡献的语法有影响吗?
另外,我在 SQL Server 中运行了这个语句:SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE%max%')` 并返回结果。
【问题讨论】: