sql >> Base de Datos >  >> RDS >> Mysql

Matraz, no todos los argumentos convertidos durante el formato de cadena

Simplemente convirtiendo mi comentario anterior en una respuesta, ya que parecía ser la solución correcta :-)

El problema viene de otra línea. Tienes esto:

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email))

Esto no hace lo que crees que hace. Poner email entre paréntesis no hace nada, por lo que la línea es en realidad equivalente a pasar cada carácter de lo que sea que esté en esa variable en una lista de caracteres. Si en cambio haces esto:

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email,))

... entonces pasará una tupla que contiene un elemento, email , y debería funcionar mejor.