首页 > 数据库 > mysql教程 > 如何正确使用SQL LIKE语句中的参数来防止SQL注入?

如何正确使用SQL LIKE语句中的参数来防止SQL注入?

Linda Hamilton
发布: 2024-12-27 07:38:14
原创
200 人浏览过

How Can I Correctly Use Parameters in SQL LIKE Statements to Prevent SQL Injection?

在 SQL 的 LIKE 语句中使用参数

问题陈述:

创建搜索时函数中,使用参数来防止SQL注入攻击的查询是实现:

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
登录后复制

但是,此查询不会返回任何结果。

答案:

参数可以在 LIKE 语句中有效使用以防止SQL注入攻击。但是,原始查询中使用的语法不正确。

更正的语法:

在 LIKE 语句中使用参数的正确语法是:

SELECT * FROM compliance_corner WHERE (body LIKE @query) OR (title LIKE @query)
登录后复制

在这种情况下,参数定义为“@query”,并且应使用参数化来分配其值查询。

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语句中的参数来防止SQL注入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板