Mysql
 sql >> Database >  >> RDS >> Mysql

AttributeError:l'oggetto 'tuple' non ha l'attributo 'encode' - MySQLdb Python

I parametri della query devono essere passati come secondo parametro a 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')), ))

Nota che non hai bisogno delle virgolette singole intorno a %s segnaposto:il driver del database li inserisce automaticamente, se necessario, a seconda del tipo di parametro della query.