Не могу сделать нормальный цикл в php через foreach, в чём дело?
Простите, но вы не в состоянии даже код на тостере оформить. Ясен пень цикл не сработает. Ведь в print_r вы пихаете изначальный массив, который по прихоти богов назван в единственном числе, в то время как переменная $prods названа во множественном. Поздравляю, мой мозг вы сломали. Попробуйте проделать то же самое с интерпретатором.
fetch_array  — Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба.
сколько выбрал столько и получил :)