Maison > base de données > tutoriel mysql > Comment puis-je utiliser en toute sécurité le formatage de chaîne Python avec les caractères génériques SQL et l'opérateur LIKE ?

Comment puis-je utiliser en toute sécurité le formatage de chaîne Python avec les caractères génériques SQL et l'opérateur LIKE ?

Susan Sarandon
Libérer: 2024-12-19 06:19:09
original
881 Les gens l'ont consulté

How Can I Safely Use Python String Formatting with SQL Wildcards and the LIKE Operator?

Formats de chaîne Python avec caractères génériques SQL et LIKE

Lorsque vous tentez de construire des requêtes SQL incluant des caractères génériques et l'opérateur LIKE, des complications avec le formatage de chaîne de Python peuvent survenir. Plusieurs approches sont présentées dans cet article pour aider à résoudre ces problèmes.

La première approche, utilisant la syntaxe de remplacement de chaîne, a entraîné une « erreur de valeur ». Cette erreur provenait du fait que Python utilisait « %%s% » pour spécifier deux signes de pourcentage consécutifs, conduisant à un caractère de format inattendu. Le fait de placer le caractère générique entre doubles barres obliques inverses (%) corrige ce problème.

La troisième approche a correctement généré la requête, mais a déclenché des erreurs de MySQLdb en raison d'arguments insuffisants. Ce problème a été résolu en transmettant deux arguments à la méthodeexecute(), le premier étant la requête et le second étant le(s) caractère(s) générique(s).

Enfin, l'approche recommandée implique l'utilisation d'un espace réservé pour le caractère générique. Au lieu d'intégrer le caractère générique dans la chaîne, un « trou » est créé dans la requête où une valeur peut être substituée dynamiquement. L'espace réservé est ensuite rempli à l'aide d'un tuple contenant les paramètres génériques. Cette méthode garantit que la chaîne de requête reste intacte et protégée contre les vulnérabilités d'injection SQL.

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