Редактирование данных в бд через форму
есть таблица и есть форма.

код формы
<form action="update.php" method="POST" class="updform">
<p>
<label for="id">Выберите № участка:</label>
<input type="number" id="id" name="pre_id" required>
</p>
<p>
<label for="name">Место нахождения:</label>
<input type="text" id="name" name="pre_name">
</p>
<p>
<label for="town">Город:</label>
<input type="text" id="town" name="pre_town">
</p>
<p>
<label for="street">Улица:</label>
<input type="text" id="street" name="pre_street">
</p>
<p
<label for="house">Дом:</label>
<input type="text" id="house" name="pre_house">
</p>
<input type="submit" value="Обновить запись">
</form>
это листинг кода update.php
<?php
$db_server = "localhost";
$db_user = "root";
$db_password = "123";
$db_name = "precinct";
try {
// Открываем соединение, указываем адрес сервера, имя бд, имя пользователя и пароль,
// также сообщаем серверу в какой кодировке должны вводится данные в таблицу бд.
$db = new PDO("mysql:host=$db_server;dbname=$db_name", $db_user, $db_password,array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES utf8"));
// Устанавливаем атрибут сообщений об ошибках (выбрасывать исключения).
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Переносим данные из полей формы в переменные.
$pre_id = $_POST['pre_id'];
$pre_name = $_POST['pre_name'];
$pre_town = $_POST['pre_town'];
$pre_street = $_POST['pre_street'];
$pre_house = $_POST['pre_house'];
// Если пользователь не указал (номер Id) какую запись будем редактировать,
// то прерываем выполнение кода.
if(empty($pre_id)){
echo "Вы не задали номер участка!";
return;
}
// Составвлям массив колонок для запроса обновления.
// Если поле формы не пустое, то его значение будет добавлено в запрос.
$update_columns = array();
if(trim($pre_name) !== "") { $update_columns[] = "name = :name"; }
if(trim($pre_town) !== "") { $update_columns[] = "town = :town"; }
if(trim($pre_street) !== "") { $update_columns[] = "street = :street"; }
if(trim($pre_house) !== ""){ $update_columns[] = "house = :house"; }
// Если есть хоть одно заполненное поле формы,
// то составляем запрос.
if(sizeof($update_columns) > 0) {
echo sizeof($update_columns);
// Запрос на создание записи в таблице
$sql = "UPDATE precinct SET " . implode(",", $update_columns) . " WHERE id=:id";
// Подготовка запроса.
$statement = $db->prepare($sql);
// Привязываем к псевдо переменным реальные данные,
// если они существуют (пользователь заполнил поле в форме).
$statement->bindParam(":id", $pre_id);
if(trim($pre_name) !== ""){
$statement->bindParam(":name", $pre_name);
}
if(trim($pre_town) !== ""){
$statement->bindParam(":town", $pre_town);
}
if(trim($pre_street) !== ""){
$statement->bindParam(":street", $pre_street);
}
if(trim($pre_house) !== ""){
$statement->bindParam(":house", $pre_house);
}
// Выполняем запрос.
$statement->execute();
}
}
catch(PDOException $e) {
echo "Ошибка при обновлении записи в базе данных: " . $e->getMessage();
}
// Закрываем соединение.
$db = null;
?>
но после нажатия на кнопку появляется только пустая страница, а в адресной строке путь до update.php.
после возврата на страницу с таблицей данные не обновляются и в бд тоже. если что, таблица выгружается из бд(с выгрузкой никаких проблем)