Lier les valeurs LIKE avec l'extension PDO
Dans les requêtes de base de données utilisant l'opérateur LIKE, il est crucial de lier correctement les valeurs pour empêcher les attaques par injection SQL. Lorsqu'il s'agit de requêtes LIKE impliquant des caractères génériques (% ou _) à la fin, il est essentiel de comprendre la technique de liaison appropriée.
Considérons l'exemple de requête :
select wrd from tablename WHERE wrd LIKE '$partial%'
Ici, nous voulons pour lier la variable $partial en utilisant PDO. La bonne façon de procéder est :
select wrd from tablename WHERE wrd LIKE :partial
où :partial est lié à $partial avec la valeur "somet%" (avec le caractère générique de fin). Cela garantit que la requête recherche les mots qui correspondent à quelque chose suivis d'un nombre quelconque de caractères.
Vous pouvez également utiliser :
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
pour effectuer la concaténation des caractères génériques dans MySQL au lieu de l'instruction PDO. .
Cependant, si le mot partiel que vous recherchez peut lui-même contenir des caractères génériques (% ou _) ou des barres obliques inverses, des mécanismes d'échappement supplémentaires peut être nécessaire dans la préparation du PDO et la liaison des paramètres.
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!