Déclarations préparées et recherches LIKE insensibles à la casse
Pour exploiter les instructions préparées pour des recherches LIKE efficaces et sécurisées tout en conservant l'insensibilité à la casse, évitez d'intégrer directement des variables dans votre requête SQL. Utilisez plutôt des requêtes paramétrées. Voici comment procéder :
Construisez votre requête SQL avec des espaces réservés :
<code class="language-sql">SELECT * FROM `users` WHERE username LIKE ?;</code>
Préparez la variable en préfixant et en ajoutant des caractères génériques (%
), puis liez-la à l'espace réservé à l'aide de bind_param
. Cette méthode gère efficacement la correspondance insensible à la casse.
<code class="language-php">$likeVar = "%{$yourParam}%"; $stmt->bind_param("s", $likeVar);</code>
Cette approche est particulièrement cruciale dans les scénarios dynamiques, tels qu'une fonction de recherche de nom d'utilisateur de joueur qui met à jour les résultats en temps réel au fur et à mesure que l'utilisateur tape. La préparation de l'instruction avec une clause LIKE
paramétrée évite les vulnérabilités d'injection SQL et permet des recherches efficaces et insensibles à la casse.
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!