Maison > base de données > tutoriel mysql > Les paramètres SQL peuvent-ils être utilisés efficacement avec les instructions LIKE ?

Les paramètres SQL peuvent-ils être utilisés efficacement avec les instructions LIKE ?

DDD
Libérer: 2025-01-02 16:24:39
original
842 Les gens l'ont consulté

Can SQL Parameters Be Used Effectively with LIKE Statements?

Utilisation de paramètres avec l'instruction LIKE dans SQL

Lors du développement d'une fonction de recherche, il est crucial de minimiser les risques de sécurité potentiels tels que les attaques par injection SQL. Une approche consiste à utiliser des paramètres dans les requêtes SQL. Cependant, les utilisateurs peuvent rencontrer des problèmes lors de l'utilisation de paramètres avec des instructions LIKE.

La requête suivante démontre l'utilisation prévue des paramètres dans l'instruction LIKE :

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
Copier après la connexion

Mais cette requête ne produit aucun résultats. Cela soulève la question : les paramètres sont-ils applicables dans ce contexte, ou sont-ils limités, comme on le voit dans ce cas ?

SELECT * FROM compliance_corner WHERE body LIKE '%<string>%'
Copier après la connexion

De plus, l'utilisateur a fourni une requête alternative qui renvoie les résultats dans SQL Server :

SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE%max%')
Copier après la connexion

Pour utiliser efficacement les paramètres avec l'instruction LIKE, il est recommandé de référencer l'extrait de code VB.NET ci-dessous :

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

cmd.Parameters.Add("@query", "%" +searchString +"%")
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal