Maison >développement back-end >Tutoriel Python >Comment corriger « TypeError : tous les arguments ne sont pas convertis lors du formatage de chaîne » dans les requêtes SQL paramétrées ?
Requêtes SQL paramétrées : résolution de « TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne »
Dans les requêtes SQL paramétrées, il est crucial de garantir une bonne syntaxe et conversion des données pour éviter les erreurs. Lorsque vous tentez d'utiliser le formatage de chaîne dans une requête paramétrée, l'erreur « TypeError : tous les arguments ne sont pas convertis lors du formatage de chaîne » peut survenir.
Pour résoudre ce problème, évitez d'utiliser %s comme espace réservé pour les arguments. Au lieu de cela, transmettez les arguments sous forme de liste distincte à la méthodeexecute(). Par exemple :
import MySQLdb as mdb class Test: def check(self, search): con = mdb.connect(...) cur = con.cursor() cur.execute("SELECT * FROM records WHERE email LIKE %s", [search]) ...
En transmettant une recherche dans une liste, vous indiquez explicitement qu'elle doit être traitée comme un argument distinct pour la conversion et l'inclusion dans la requête. Cette approche garantit que tous les arguments sont correctement convertis et utilisés dans la requête.
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!