Задать вопрос
@SupV1rus
начинающий программист

TypeError: 'NoneType' object is not subscriptable где ошибка?

elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id ={}".format(inter.id)).fetchone()[0]:


где здесь ошибка? я кинул именно часть кода, т.к сам код очень объёмный
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
где здесь ошибка?

{}".format(role.id))
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
role_id = {}".format(role.id)

За такое бьют по рукам, так как стоит тебе попытаться подставить так строку - начнутся проблемы. Синтаксис подстановки параметров для кого придумали?

А по вопросу: с какого перепуга ты взял, что у тебя запрос обязательно вернёт хоть одну строку?
А если ни одной строки не вернулось, что fetchone() вернёт None. От которого ты потом берешь нулевой индекс.
Вбей в консоли питона None[0] и сравни ошибку со своей.
Так что сначала вытащи результаты fetchone() в отдельные переменные, проверь их на None, и только потом делай с ними что нужно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы