PHP простая база данных INSERT - PullRequest
0 голосов
/ 18 марта 2020

Я не могу понять, в чем проблема с моим PHP, но INSERT, похоже, всегда терпит неудачу. Когда я отправляю свою форму, ничего не происходит и ничего не отправляется в мою базу данных без сообщения об ошибке

<form action="" method="POST">
  <div class="form-group mt-4">
    <label for="exampleInputEmail1">Title</label>
    <input type="text" class="form-control" name="title" aria-describedby="emailHelp" required>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Products to buy</label>
    <textarea class="form-control" name="products" rows="3" required></textarea>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Comments</label>
    <input type="text" class="form-control" name="comments" aria-describedby="emailHelp" required>
  </div>
  <button type="submit" class="btn btn-info">Submit</button>
</form>

<?php 

$title = null;
if (isset($_POST['title'])) {
    $title = htmlspecialchars($_POST['title']);
}

$products = null;
if (isset($_POST['products'])) {
  $products = htmlspecialchars($_POST['products']);
}

$comments = null;
if (isset($_POST['comments'])) {
  $comments = htmlspecialchars($_POST['comments']);
}

$pdo = new PDO('mysql:host=localhost;dbname=liste_course;charset=utf8', 'root', '', [
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);

$sql = "INSERT INTO content(id, title_content, products_content, comments_content) VALUES('','$title','$products','$comments')";


?>

1 Ответ

0 голосов
/ 18 марта 2020

Вы можете попробовать использовать свой запрос следующим образом

$pdo = new PDO('mysql:host=localhost;dbname=liste_course;charset=utf8', 'root', '', [
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$query = $pdo->prepare("INSERT INTO content(id, title_content, products_content, comments_content) VALUES('','$title','$products','$comments')");
$query->execute();

Более безопасно также связать ваши параметры

$query = $pdo->prepare("INSERT INTO content(id, title_content, products_content, comments_content) VALUES(:id,:title,:products,:comments)");
$query->bindParam(":id", $id);
$query->bindParam(":title", $title);
$query->bindParam(":products", $products);
$query->bindParam(":comments", $comments);
$query->execute();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...