sql >> Databáze >  >> RDS >> Mysql

Baňka, ne všechny argumenty převedeny během formátování řetězce

Jen převádím svůj dřívější komentář na odpověď, protože se to zdálo jako správné řešení :-)

Problém pochází z jiné linie. Máte toto:

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

Tohle nedělá to, co si možná myslíte, že ano. Vkládání email v závorkách nedělá nic, takže řádek je ve skutečnosti ekvivalentní předání každého znaku čehokoli, co je v této proměnné v seznamu znaků. Pokud místo toho uděláte toto:

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

...potom předáte n-tici obsahující jednu položku, email a mělo by to fungovat lépe.




  1. Připojení k MySQL z Eclipse (CDT)

  2. Vytvořte dotaz v SQL Server 2017

  3. Instalace mysql-libs na server s MySQL-Server5.5

  4. Microsoft Access vs SQL Server