Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Flask, nem todos os argumentos são convertidos durante a formatação da string


Apenas convertendo meu comentário anterior em uma resposta, pois parecia ser a solução certa :-)

O problema vem de outra linha. Você tem isto:
        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email))

Isso não faz o que você pode pensar que faz. Colocando email entre colchetes não faz nada, então a linha é na verdade equivalente a passar cada caractere do que estiver nessa variável em uma lista de caracteres. Se em vez disso você fizer isso:
        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email,))

...então você estará passando uma tupla contendo um item, email , e deve funcionar melhor.