Коллега, ваш код относительно правильный и в некоторых случаях он будет работать, в некоторых нет.
Нельзя сказать что это не рабочий вариант.
Когда вы составляете такой запрос вы подвергаете себя риску.
Ответьте себе на вопрос, а что произойдёт, если в переменной $test будет строка?
Опасно!
$test = $_POST["test"];
$sql = "UPDATE main_test1 SET name = $test WHERE id = 2;";
В вашем случае во так
$test = $_POST["test"];
$sql = "UPDATE `main_test1` SET `name` = '$test' WHERE id = 2;";