首页 >数据库 >mysql教程 >SQL 参数能否有效地与 LIKE 语句一起使用?

SQL 参数能否有效地与 LIKE 语句一起使用?

DDD
DDD原创
2025-01-02 16:24:39826浏览

Can SQL Parameters Be Used Effectively with LIKE Statements?

在 SQL 中的 LIKE 语句中使用参数

开发搜索功能时,尽量减少 SQL 注入攻击等潜在安全风险至关重要。一种方法是在 SQL 查询中使用参数。但是,用户在 LIKE 语句中使用参数时可能会遇到问题。

以下查询演示了 LIKE 语句中的预期参数用法:

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

但是,此查询不会产生任何结果结果。这就提出了一个问题:参数是否适用于此上下文,或者它们是否受到限制,如本例所示?

SELECT * FROM compliance_corner WHERE body LIKE '%<string>%'

此外,用户提供了一个在 SQL Server 中返回结果的替代查询:

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

要有效地在 LIKE 语句中使用参数,建议参考下面的 VB.NET 代码片段:

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

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

以上是SQL 参数能否有效地与 LIKE 语句一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn