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

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

DDD
发布: 2025-01-02 16:24:39
原创
882 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板