@o6i_v4n

Почему не добавляется в базу данных информация с формы?

Я проверял, что выводят все переменные, их вводил в ручную с той же командой в консоли phpMyadmin. В консоли все прекрасно работает, другие вызовы PDO тоже отлично работают, но конкретно этому коду кубически похуй на все. При чем ошибок он не выводит. Названия таблиц и значений тоже проверял. Надпись "Post created", он выводит, но я проверяю базу данных, там ничего не появляется.

$text_content = $_POST['text'];
    $datep = date('Y-m-d H:i:s');
    $author = $_SESSION['name'];

    try {
        $pdo->query("INSERT INTO post(author, date_p, text_p) VALUES ($author, $datep, $text_content);");
        echo 'Post created';    
    }
    catch(PDOException $e){
        echo "Ошибка!  ".$e->getMessage();
    }
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
$q = "INSERT INTO post(author, date_p, text_p) VALUES ('$author', '$datep', '$text_content')"; 
//  ";" в одиночных запросах не ставится, а текстовые значения обрамляются кавычками
var_dump($q); //смотрим глазками, проверяем в консоли
$q = "INSERT INTO post(author, date_p, text_p) VALUES (?, ?, ?)"; 
//никогда не лезем в бд без подготовленных выражений!
$st = $pdo->prepare($q);
$sth->execute([$author, $datep, $text_content]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы