Сначала надо определиться с тем, что такое "пустая переменная".
Если она содержит значение null, то просто вставить через подготовленный запрос,
так же, как это надо делать всегда,
выполняя запросы с переменными
$sql = NSERT INTO `table` (`id`, `value_1`, `value_2`) VALUES (?,?,?)";
$connection->prepare($sql)->execute([null,$var1, $var2]);
(если у вас устаревшая версия РНР, то так)
$sql = NSERT INTO `table` (`id`, `value_1`, `value_2`) VALUES (null,?,?)";
$stmt = $connection->prepare($sql);
$stmt->bind_param("ss",$var1, $var2)
$stmt->execute();
Если же переменная содержит пустую строку, то сначала присвоить ей null, например
$var1 = ($var1 !== '') ? $var1 : null;
И потом точно так же подставить в запрос