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

Flask, tous les arguments ne sont pas convertis lors du formatage de la chaîne

Je viens de convertir mon commentaire précédent en réponse, car cela semblait être la bonne solution :-)

Le problème vient d'une autre ligne. Vous avez ceci :

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

Cela ne fait pas ce que vous pourriez penser qu'il fait. Mettre email entre parenthèses ne fait rien, donc la ligne équivaut en fait à passer chaque caractère de ce qui se trouve dans cette variable dans une liste de caractères. Si à la place vous faites ceci :

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

... alors vous passerez un tuple contenant un élément, email , et cela devrait mieux fonctionner.