The question 'How long' asks about duration or time span, so the answer must specify a period of time. 'For three hours' (option D) correctly indicates duration using the preposition 'for'. Options A, B, and C answer different questions - 'With whom' (Bob), 'Where' (in my room), and 'What subject' (English) respectively.