Maison >développement back-end >tutoriel php >Comment puis-je utiliser en toute sécurité LIKE '%{Var}%' avec des instructions préparées en SQL ?
Utiliser efficacement les instructions préparées avec LIKE '%{Var}%'
Lorsque vous travaillez avec des entrées utilisateur nettoyées dans des requêtes SQL, il est recommandé d'utiliser des instructions préparées pour atténuer le risque d'attaques par injection SQL. Cependant, l'utilisation du modèle LIKE '%{Var}%' avec des instructions préparées peut présenter des défis.
Approche incorrecte :
La syntaxe suivante générera des erreurs :
$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';
Approche correcte :
Pour utiliser LIKE '%{Var}%' avec les instructions préparées correctement, suivez ces étapes :
$likeVar = "%" . $ yourParam . "%";
$ stmt = $ mysqli -> prepare('SELECT * FROM REGISTRY WHERE name LIKE ?');
$stmt -> bind_param('s', $likeVar);
$stmt -> execute();
Explication :
En suivant ces étapes, vous pouvez utiliser en toute sécurité LIKE '%{Var}%' dans vos requêtes SQL tout en respectant les meilleures pratiques de sécurité.
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!