1. random(i)+1 спасет от вывода поля с индексом 0.
2. Да ты вообще непонятно что делаешь

Fields - это список полей одной записи. А у тебя каждый вопрос д.б. отельной записью. Фактически, тебе надо бы получить весь список вопросов, а потом генерить их номера для вывода и запоминать уникальный идентификатор вопроса, что бы проверить на то, что он повторяется.
Или я чего-то не понимаю и тебе надо вывести ВСЕ вопросы, но к ним ОТВЕТЫ в случайном порядке?