aslında o kısmı komple kaldırıp direkt listeleme de yaparak denemiştim ancak olmadı. Aslında problem çok basit ancak görmek tecrübe istiyor

tekrardan teşekkürler.
sevindim hocam, problem şu
<option>--Select--</option> dediğinizde arayüzde başka bir şey seçilmişte olsa giden veri --Select-- olur bu muhtemelen bu kısımda sql injection korumanız varsa silinip dolayısıyla boş kayıt edilmiştir
çözümü de
<option value="">--Select--</option> olmalıdır select tagına ise boş bir şekilde gönderilmemesi için required eklenmesidir