0

Код PHP выводит информацию из БД правильно, но не может записать в неё. Никаких ошибок не выводит при добавлении записи, возвращает эту же страницу с тем же содержимым. Основной файл:

<!DOCTYPE html>
<html lang="ru">

<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="assets/css/stye.css"> <title>Prods</title> </head>

<body> <div class="container"> <h1>Prods</h1> <form action="/prods.php" method="post"> <input type="text" name="title" placeholder="Название продукта"> <input type="date" name="data" placeholder="Дата привоза продукта"> <input type="number" name="quantity" placeholder="Количество товара"> <input type="number" name="amount" placeholder="Сумма"> <button type="submit" name="sendProd">Сохранить</button> </form>

</div>

</body>

</html>

<?php
$title = $_POST['title'];
if($title == '') {
    echo 'Введите название продукта';
    exit();
}
$data = $_POST['data'];
if($data == '') {
    echo 'Выберите дату';
    exit();
}
$quantity = $_POST['quantity'];
if($quantity == '') {
    echo 'Введите количество товара';
    exit();
}
$amount = $_POST['amount'];
if($amount == '') {
    echo 'Введите сумму';
    exit();
}

$dsn = 'mysql:host=localhost;dbname=qwe'; $pdo = new PDO($dsn, 'root', 'root');

$sql = 'INSERT INTO prod(title) VALUES(:title)'; $query = $pdo->prepare($sql); $query->execute(['title' =>$title ,]); $sql = 'INSERT INTO prod(data) VALUES(:data)'; $query = $pdo->prepare($sql); $query->execute(['data' =>$data ,]); $sql = 'INSERT INTO prod(quantity) VALUES(:quantity)'; $query = $pdo->prepare($sql); $query->execute(['quantity' =>$quantity ,]); $sql = 'INSERT INTO prod(amount) VALUES(:amount)'; $query = $pdo->prepare($sql); $query->execute(['amount' =>$amount ,]);

header('Location: /personal_arena.php');

?>

  • А зачем ты вставляешь 4 сроки? – Ипатьев Oct 08 '20 at 08:52
  • я так пробовал, так как не выводит запись думал ошибка и на 4 строки добавил INSERT INTO prod (id, title, data, quantity, amount) VALUES (NULL, :title, :data, :quantity, :amount); – Азат Oct 08 '20 at 08:55
  • "пробовать" никогда не надо. Надо делать только один вариант - правильный, а если не работает то не "пробовать", а разбираться, почему не работает. Читай ответ прикремленный сверху – Ипатьев Oct 08 '20 at 08:59

0 Answers0