A biblioteca mysql padrão do python retorna tuplas de cursor.execute. Para acessar o campo question_id, você usaria
row[0]
, não row['question_id']
. Os campos saem na mesma ordem em que aparecem na instrução select. Uma maneira decente de extrair vários campos é algo como
for row in cursor.execute("select question_id, foo, bar from questions"):
question_id, foo, bar = row