Объясните, какая ошибка в коде?

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>
php
mysql

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')");

Вот это пишет в базу...

Sign up or Log in to write an answer