Well -
echo "<option value='' >".htmlspecialchars($select_query_array["category"])."</option>";
}
has set the value of all of your options to nothing via value=''.
Your ECHO request is for the
value, not the displayed string.
so - you see exactly that: nothing.
To keep it simple for you, as you create your options, create them with the 'value' set to equal to the display value.
There are ways to pick up the display values, but that should wait until you learn a lot more about the basics.