Объясните, какая ошибка в коде?
0
При вводе данных в таблице Html на странице, например: Краш; Клава Кока. В таблице MySQL в соответствующих полях выводится name и author
<?php
$mysqli = new mysqli ('localhost','root', '', 'kinomonster');
if (mysqli_connect_errno()) {
printf ("Соединение не установлено", mysql_connect_error());
exit();
}
$mysqli -> set_charset('utf8');
$name = 'name';
$author = 'author';
$result = $mysqli->query("INSERT INTO music($name, $author) VALUES ('$name','$author')");
if ($result == true) {
echo "Информация занесена в базу данных";
}else {
echo "Информация не занесена в базу данных";
}
if (isset($_POST['name']) && isset($_POST['author'])) {
$name = $_POST['name'];
$author = $_POST['author'];
$mysqli = new mysqli ('localhost','root', '', 'kinomonster');
if (mysqli_connect_errno()) {
printf ("Соединение не установлено", mysql_connect_error());
exit();
}
$result = $mysqli->query("INSERT INTO music($name, $author) VALUES ('$name,'$author')");
if ($result == true) {
echo "Информация занесена в базу данных";
}else {
echo "Информация не занесена в базу данных";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="/" method="POST">
<input type="text" name="name" placeholder="название песни">
<input type="text" author="author" placeholder="автор композиции">
<input type="submit" value="отправить">
</form>
</body>
</html>
3 ответов
0
Пробел лишний после printf
2
Зачем два раза подключаться к базе данных (в начале и в блоке if (isset($_POST['name']) )?
И два раза делать insert тоже не нужно. В первом случае, каждый раз когда будет загружаться страница, будет происходить вставка в базу данных. Вставка должна происходить только когда приходит POST запрос на эту страницу.
В уроке не такой код.
Вот здесь (в первом ответе) есть пример кода вместе с дампом базы данных, какой должен быть код:
https://fructcode.com/ru/qa/php-mysql-domasnee-zadanie-57-uroka-tgukud/
0
$name = 'name';
$author = 'author';
$result = $mysqli->query("INSERT INTO music($name, $author) VALUES ('$name','$author')");
Вот это пишет в базу...