Mysql
 sql >> база данни >  >> RDS >> Mysql

Flask, не всички аргументи са преобразувани по време на форматиране на низ

Просто превърнах предишния си коментар в отговор, тъй като изглеждаше правилното решение :-)

Проблемът идва от друга линия. Имате това:

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

Това не прави това, което може би си мислите, че прави. Поставяне на email в скоби не прави нищо, така че редът всъщност е еквивалентен на предаване на всеки знак от каквото и да е в тази променлива в списък със знаци. Ако вместо това направите това:

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

...тогава ще предавате кортеж, съдържащ един елемент, email , и би трябвало да работи по-добре.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. R- Специалните символи не се вмъкват в mysql

  2. Как да изберете колона ORDER BY и RAND() и двете?

  3. Автоматично добавяне на букви пред поле за автоматично увеличение

  4. Транзакционен DDL работен поток за MySQL

  5. Проверка на заявката за вмъкване дали съществува запис - Ако не, вмъкнете го