집 >데이터 베이스 >MySQL 튜토리얼 >SQL 매개변수를 LIKE 문과 함께 효과적으로 사용할 수 있습니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!