Im, используя входы от SQLite3 в python 3.5 для добавления информации о пользователях в базу данных. Однако, как только я получу данные и вставляю их в базу данных, вместо того, чтобы вставлять данные в столбцы, он говорит мне, что нет столбца. Я получаю ошибку следующим образом:Вставка значений в sqlite 3, но отображаемых как имена столбцов
Исключение в Tkinter обратного вызова TraceBack (самый последний вызов последнего):
File "C:\Users\Luke_2\AppData\Local\Programs\Python\Python35-32\lib\tkinter__init__.py", line 1549, in call return self.func(*args) File "C:\Users\Luke_2\Desktop\Computing\Coursework\live\current.py", line 303, in details cur_user.execute("INSERT INTO LogIn(Email,Password) VALUES("+user+","+passw+")") sqlite3.OperationalError: no such column: a
И функции в моем коде делать это следующим образом:
def details():
user = email_sign.get()
user1 = email1_sign.get()
passw = password_sign.get()
password1 = password1_sign.get()
if user == user1 and passw == password1:
cur_user.execute("INSERT INTO LogIn(Email,Password) VALUES("+user+","+passw+")")
conn_user.commit()
else:
print("please try again")
Попробуйте эту строку: cur_user.execute ("INSERT INTO LogIn (e-mail, Пароль) VALUES ('% s', '% s') "% (пользователь, passw)) –
@DenisV отлично, спасибо – HalfIrish
@DenisV это далеко не идеальный, потому что все еще подвержен SQL-инъекции ... –