Maison > développement back-end > tutoriel php > Comment éviter les erreurs « Le nombre de variables ne correspond pas » lors de l'utilisation de LIKE '%{$var}%' avec des instructions préparées ?

Comment éviter les erreurs « Le nombre de variables ne correspond pas » lors de l'utilisation de LIKE '%{$var}%' avec des instructions préparées ?

Mary-Kate Olsen
Libérer: 2024-12-01 21:52:13
original
574 Les gens l'ont consulté

How to Avoid

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

Lorsque vous essayez d'utiliser LIKE '%{$var }%' avec les instructions préparées, certains utilisateurs rencontrent l'erreur : "Le nombre de variables ne correspond pas au nombre de paramètres dans l'instruction préparée." En effet, les instructions préparées nécessitent un nombre spécifique de paramètres et la syntaxe '%{$var}%' ne fournit pas un nombre clair de paramètres.

Exemple incorrect

$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
Copier après la connexion

Solution améliorée

Pour résoudre ce problème, vous devez d'abord créer une variable contenant l'expression LIKE, avec le caractères génériques inclus. Ensuite, liez la variable à l'instruction préparée à l'aide de la méthode bind_param().

$likeVar = "%" . $yourParam . "%";
$stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->bind_param("s", $likeVar);
$stmt->execute();
Copier après la connexion

En suivant cette méthode, vous pouvez effectuer efficacement des recherches LIKE à l'aide d'instructions préparées tout en conservant l'insensibilité à la casse et en autorisant des correspondances partielles.

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