Maison > base de données > tutoriel mysql > Comment utiliser en toute sécurité LIKE '%{$var}%' avec les instructions préparées ?

Comment utiliser en toute sécurité LIKE '%{$var}%' avec les instructions préparées ?

Barbara Streisand
Libérer: 2025-01-16 11:04:02
original
720 Les gens l'ont consulté

How to Safely Use LIKE '%{$var}%' with Prepared Statements?

Utilisez correctement LIKE '%{$var}%' avec les instructions préparées

Vous pouvez rencontrer des problèmes lors de l'utilisation de la syntaxe LIKE '%{$var}%' lorsque vous essayez d'effectuer une recherche insensible à la casse pour des noms d'utilisateur contenant une sous-chaîne spécifique (par exemple, pendant que vous tapez). Ce problème se produit lorsque vous essayez d'utiliser cette syntaxe avec des instructions préparées.

Pour résoudre ce problème, une approche différente est suggérée : définissez d'abord une variable 'likeVar' contenant le modèle "%{$yourParam}%". Ensuite, préparez la requête en utilisant l'espace réservé « ? » et liez la variable « likeVar » à l'aide de bind_param.

Un exemple est le suivant :

<code class="language-php">$likeVar = "%" . $yourParam . "%";
$stmt = $mysqli->prepare("SELECT * FROM REGISTRY WHERE name LIKE ?");
$stmt->bind_param("s", $likeVar);
$stmt->execute();</code>
Copier après la connexion

Dans cette méthode, vous concaténez d'abord le caractère "%" avec $yourParam pour créer le "likeVar". Ensuite, utilisez l'espace réservé « ? » dans la requête prétraitée et liez-y la variable « likeVar » à l'aide du spécificateur « s » de la chaîne. Cette méthode doit garantir une recherche et un affichage réussis des résultats.

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