Данные из формы не вносятся в базу данных
Мне надо, чтобы данные из формы переносились в таблицу в MySQL. Код написал, как в видео, перед этим сделал БД 'test' с таблицей 'users', внутри которой 3 столбца: 'id', 'name' и 'age'. При заполнении данных в форме по идее должен вылезать текст - при удаче "Успешно!", при ошибке - "Извините, возникла ошибка на сайте", но ни того, ни другого не выскакивает после нажатии на кнопку "отправить", хотя в видео вылезал текст об успехе, ну и соответственно, ничего не заполняется в БД, она остается пустой. В чем может быть проблема? На первом скриншоте я под этими данными захожу в бд, на втором как выглядит бд, куда я пытаюсь внести данные, а на третьем скрине сама таблица с данными для заполнения.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<form method="get">
<label>Введите свое имя:</label><br />
<input type="text" name="name" /><br />
<label>Введите свой возраст:</label><br />
<input type="text" name="age" /><br />
<br />
<input type="submit" name="formSubmit" value="Отправить" />
</form>
<?php
if (isset($_GET['formSubmit'])) {
$nameform = $_GET['name'];
$ageform = $_GET['age'];
$mysqli = new mysqli("localhost", "root", "", "test");
if ($mysqli->connect__errno) {
echo "Извините, возникла проблема на сайте";
exit;
}
$name = '"' . $mysqli->real_escape_string($nameform) . '"';
$age = '"' . $mysqli->real_escape_string($ageform) . '"';
$query = "INSERT INTO users (name, age) VALUES ($name, $age)";
$result = $mysqli->query($query);
if ($result) {
print('Успешно!' . '<br>');
} else {
print('Не успешно');
}
$mysqli->close();
}
?>
</body>
</html>
</html>
Ответы (1 шт):
Итак, я разобрался со своим вопросом. Видимо, ошибка была в таблице. Я задал столбцу "id" индекст "PRIMARY" и поставил галочку в пункте "A_I", а также поменял кодировку БД на utf8mb3_general_ci.


