>데이터 베이스 >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으로 문의하세요.