Не добавляется запись из формы в БД
Привет, помогите разобраться пож-та, не записываютсяданные в бд.
И еще, приходится делать все в одном файле, т.к. если я сосздаю новый .php он не отображается по домену и вообще не открывается нормально в браузере, видимо из-за настроек сервера.
<?php
$name = $_POST['name'];
$author = $_POST['author'];
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
if (mysqli_connect_errno()) {
print_f("Соединение не установлено", mysql_connect_error());
exit();
}
$mysqli->set_charset('utf8');
$query = $mysqli->query ('SELECT * FROM player');
while ($row = mysqli_fetch_assoc($query)) {
echo $row['author']." - ".$row['name']."<br>";
}
$query = "INSERT INTO 'player' (name, author) VALUES (null, '$name', '$author')";
$mysqli->query($query);
$mysqli->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="index.php" method="POST">
<div>Название</div><input type="text" name="name">
<div>Автор</div><input type="text" name="author">
<input type="submit">
</form>
</body>
</html>
4 ответов
Хороший пример от student_RwUH8cQ1
Во втором ответе SQL-исходник есть, его импортировали в phpmyadmin? Может структуру sql таблиц неверно создали. Вообще странно, что у вас неоткрываются нормально в разных файлах, попробуйте зарегить аккаунт, например в том же таймвебе, там вроде какое-то время бесплатный тестовый период и туда выложите.
Скопировал пример student_RwUH8cQ1 , сделал только в одном документе...отправка идет, но в базе запись не появляется...так же как и в моем коде.
<?php
$mysqli = new mysqli('127.0.0.1', 'root', '', 'kinomonster');
if (mysqli_connect_errno()) {
print_f("Соединение не установлено", mysql_connect_error());
exit();
}
$mysqli->set_charset('utf8');
?>
<?php
$name = "";
$author = "";
/* Проверяем, существуют ли переменные $_POST и если существуют, тогда обрабатываем данные POST от пользователя и переопределяем переменные $name и $author, присвоив им отфильтрованные значения от пользователя
*/
if(isset($_POST['name']) && isset($_POST['author'])) {
$nameFilter = htmlspecialchars($_POST ['name'], ENT_QUOTES, 'UTF-8');
$authorFilter = htmlspecialchars($_POST ['author'], ENT_QUOTES, 'UTF-8');
$name = $nameFilter;
$author = $authorFilter;
$query = "INSERT INTO player VALUES(null, '$name', '$author')";
$mysqli->query($query);
}
?>
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Плеер</title>
</head>
<body>
<form action="index.php" method="post" clas="form-group">
<legend>Исполнители / Песни</legend>
<input type="text" name="name" placeholder="<?php echo $name;?>">
<input type="text" name="author" placeholder="<?php echo $author;?>">
<button type="submit" class="btn">Отправить</button>
</form>
<?php $querry = $mysqli->query('SELECT * FROM player'); ?>
<?php if($querry): ?>
<?php while ($row = mysqli_fetch_assoc($querry)): ?>
<?php echo $row['name']; ?>
<?php echo $row['author']; ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php
$mysqli->close();
?>
</body>
</html>
и вынос подключения в отдельный файл не помогает