Флажок, это элемент для выбора множества из множества. Аналогом флажкам в базе является поле типа SET. А радио кнопки служат для выбора одного значения из множества. Их аналогам в базе является поле типа ENUM.
Если флажки служат для вкл/выкл и это набор, значит каждый флажок, это одно поле в таблице базы. Как можно гарантированно связать флажки с полями в базе именуя их category[]? Никак, так как не выбранный флажок браузер на сервер не отправляет и если будут выбраны все флажки, то все будет ОК, но стоит один из них сбросить, все пойдет крахом.
В таких случаях нужно явно определять ключ флажкам, например как category[id категории], или value флажков содержит id категории. В этом случае сбоя не произойдет, сервер всегда будет знать флажки каких категорий выбраны и нужно обновить.
У вас же все не по людски.
