La bibliothèque mysql standard python renvoie des tuples à partir de cursor.execute. Pour accéder au champ question_id, vous utiliseriez row[0]
, pas row['question_id']
. Les champs apparaissent dans le même ordre qu'ils apparaissent dans l'instruction select.
Une façon décente d'extraire plusieurs champs est quelque chose comme
for row in cursor.execute("select question_id, foo, bar from questions"):
question_id, foo, bar = row