Php вносит данные в sql на разные строки вместо одной

Всем привет, помогите с вопросом, тут на сайте не нашел похожих топиков, есть сайт-опросник на несколько страниц, на каждой странице есть кнопка, отправляющая информацию в бд и перенаправляющая на след страницу, так вот, необходимо, чтобы в базу данных информация от одного пользователя вносилась в одну строку, а выходит так, что он заполняет поля на первой странице на одной строке, проставляя нули в остальных поля, а потом смещается на одну вниз и заполняет дальше уже ее, и так с каждой страницей, в чем может быть проблема?

Прикрепляю пхп и
скрин бд

P.S.

try {
   $conn = new PDO("mysql:host=$servername;dbname=$dbname", "$username", "$password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "Insert into anketa (q1fin, q1mat, q1duh, q1cult, q1obr, q1dru, q2gen, q2sem, q2semdr, q2rozhd, q3yaz, q4otn, q4stat, q4prof, q4samo) values ('$q1fin', '$q1mat', '$q1duh', '$q1cult', '$q1obr', '$q1dru', '$q2gen', '$q2sem', '$q2semdr', '$q2rozhd', '$q3yaz', '$q4otn', '$q4stat', '$q4prof', '$q4samo')";
   
    $conn->exec($sql);
    echo "New record created successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

Ответы (1 шт):

Автор решения: S.H.

Смотрим на 4-ю строчку приведенного Вами кода

Там написано Insert... И так далее.

Insert приводит к вставке новой строки. Так как Ваш код работает на каждой странице опроса - то на каждой странице происходит вставка новой строки в таблицу

Если Вы хотите, чтобы у Вас на первой странице происходила вставка новой строки, а на следующих страницах к этой строке добавлялись данные - нужно Insert использовать на первой странице, а на остальных использовать Update. Причем, одним из параметров апдейта должен быть Id, который на первой странице вернёт Insert

→ Ссылка