Czy próbowałeś wydrukować zawartość kategorii na konsoli? Czy jest możliwe, że poprawna kategoria i kategoria pusta są wysyłane z powrotem ze źródła?
możesz również spróbować zahermetyzować wywołanie sql ze sprawdzaniem wartości nul względem kategorii. Może to złapać wartość null przed jej wstawieniem.
$category = $_POST['category'];
$cf = $_FILES['cf'];
if($category != NULL)
{
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)");
}
Na koniec możesz ustawić jedną z kolumn w tabeli, aby nie zezwalała na wartości null. Co pozwoliłoby na umieszczenie bloku try catch i pozbycie się pustych danych
Try {
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)");
}
catch (exception ex)
{
// do nothing!
}