Maison > base de données > tutoriel mysql > Les paramètres peuvent-ils être utilisés avec l'instruction LIKE dans SQL pour la correspondance de modèles ?

Les paramètres peuvent-ils être utilisés avec l'instruction LIKE dans SQL pour la correspondance de modèles ?

Susan Sarandon
Libérer: 2025-01-05 11:12:40
original
603 Les gens l'ont consulté

Can Parameters Be Used with the LIKE Statement in SQL for Pattern Matching?

Comment utiliser les paramètres et l'instruction LIKE en SQL

En SQL, l'instruction LIKE vous permet d'effectuer une correspondance de modèles dans les chaînes. Cependant, son utilisation sans précautions appropriées peut conduire à des attaques par injection SQL. Pour empêcher de telles attaques, des requêtes paramétrées peuvent être utilisées.

Question originale

Dans le but de limiter les vulnérabilités d'injection SQL, la requête suivante a été construite à l'aide de paramètres :

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

Cependant, l'exécution de cette requête dans un programme ne donne aucun résultat. Les paramètres peuvent-ils être utilisés de cette manière, ou sont-ils uniquement applicables dans des situations telles que les suivantes :

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

Solution

Les paramètres peuvent être utilisés dans les instructions LIKE comme prévu . La syntaxe de la requête d'origine est incorrecte. Voici la bonne façon d'utiliser les paramètres dans ce scénario :

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

Cette requête correspondra correctement aux chaînes qui contiennent la chaîne de recherche dans les champs du corps ou du titre.

VB. Considérations NET

La solution fournie est syntaxiquement correcte pour VB.NET. Cependant, la mise en œuvre réelle peut varier en fonction du fournisseur de base de données spécifique et de la méthode de connexion utilisée. Reportez-vous à la documentation appropriée pour plus de conseils.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal