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!