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>
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!