Mysql
 sql >> Base de données >  >> RDS >> Mysql

AttributeError :l'objet 'tuple' n'a pas d'attribut 'encode' - MySQLdb Python

Les paramètres de la requête doivent être passés en second paramètre à execute() :

cursor = self.conn.cursor() 
query = "SELECT name FROM TABLENAME WHERE id = %s"
cursor.execute(query, (str(id.decode('unicode_escape').encode('ascii', 'utf-8')), ))

Notez que vous n'avez pas besoin des guillemets simples autour du %s espace réservé - le pilote de base de données les placerait automatiquement si nécessaire en fonction du type de paramètre de requête.