Задать вопрос
@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 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
Greenway Global Новосибирск
от 150 000 ₽