0
Я пытался запустить этот код:Python --- TypeError: объект 'NoneType' не имеет атрибута '__getitem__'
Вот то, что я делаю, что улучшить себя ...
import sqlite3 as sq
def add_user(username, passwd):
database = sq.connect("database.db")
cursor = database.cursor()
cursor.execute("""insert into maintable values (?, ?, ?)""",
(username, passwd, ""))
database.commit()
def add_lesson(username, lesson):
database = sq.connect("database.db")
cursor = database.cursor()
cursor.execute("""select * from maintable where kullad=?""", (username,))
if cursor.fetchone()[2] != "":
lessons_dict = {lesson: 0}
cursor.execute(
"""update maintable set lessons=? where kullad=?""", (lessons_dict, username,))
database.commit()
else:
cursor.fetchone()[2][lesson] = 0
cursor.execute(
"""update maintable set lessons=? where kullad=?""", (lessons_dict, username,))
database.commit()
add_lesson("user", "lesson1")
Когда я пытаюсь запустить это я получаю эту ошибку:
Traceback (most recent call last):
File "main.py", line 29, in <module>
add_lesson("user", "lesson1")
File "main.py", line 24, in add_lesson
cursor.fetchone()[2][lesson] = 0
TypeError: 'NoneType' object has no attribute '__getitem__'
ваш 'cursor.fetchone()' возвращен 'None', проверьте это, прежде чем делать запросы в результат – mirosval
Теперь он работает. Спасибо за вашу помощь :) –