Не добавляется запись из формы в БД

1

Привет, помогите разобраться пож-та, не записываютсяданные в бд.

И еще, приходится делать все в одном файле, т.к. если я сосздаю новый .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>
php
mysql

4 ответов

2

Хороший пример от student_RwUH8cQ1

https://fructcode.com/ru/qa/phpmysql-nzifh/

3

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

2

Скопировал пример 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>
2

и вынос подключения в отдельный файл не помогает

Sign up or Log in to write an answer