开发者社区> 问答> 正文

如何?参数和LIKE语句SQL

我正在编写一个搜索功能,并考虑使用参数来防止或至少限制SQL注入攻击的查询。但是,当我通过程序运行它时,它不会返回任何内容:

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')

可以像这样使用参数吗?还是仅在以下情况下才有效:

SELECT * FROM compliance_corner WHERE body LIKE '% %'( 搜索对象在哪里)。

编辑:我正在用VB.NET构造此函数,这对你们贡献的语法有影响吗?

另外,我在SQL Server中运行了以下语句:SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE%max%')`,并返回结果。

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 17:40:51 385 0
1 条回答
写回答
取消 提交回答
  • 您的可视化基本代码如下所示:

    Dim cmd as New SqlCommand("SELECT * FROM compliance_corner WHERE (body LIKE '%' + @query + '%') OR (title LIKE '%' + @query + '%')")

    cmd.Parameters.Add("@query", searchString)

    2019-11-18 17:40:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载