@WeBBeW

Nonetype object почему выводит?

cursor.execute(f"SELECT NickName FROM users WHERE ID = {id}")
print(cursor.fetchone().get("NickName"))
nick = str(cursor.fetchone().get("NickName"))


print(cursor.fetchone().get("NickName")) - эта строка выводит в консоль результат
nick = str(cursor.fetchone().get("NickName")) - а эта строка выводит "'NoneType' object has no attribute 'get'"

Как исправить? Эти строки ведь одинаковые
  • Вопрос задан
  • 102 просмотра
Решения вопроса 3
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Да не используйте вы все f-строки! Они не для этого.
Как правильно подставлять значения из переменных /...
Ответ написан
iggor-markin
@iggor-markin
Python Developer
Обратите внимание, что хотя запрос SQL подразумевает, что запрашивалось всё содержимое таблицы, метод fetchone вернул только одну строку. Если повторно вызвать метод, он вернет следующую строку. После обработки всех строк метод начинает возвращать None. Поэтому имеет смысл сохранить полученный результат. Об этом можно прочитать, например, здесь.
Ответ написан
@alexbprofit
Junior SE
cursor.execute(f"SELECT NickName FROM users WHERE ID = {id}")
x = cursor.fetchone().get("NickName")
print(x)
nick = str(x)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы