oceanotrash Ответов: 1

Php страница просто пустая без ошибок и не хранит данные в БД


Это php скрипт
<?php

if(isset($_POST['name'])){
$yourName = $_POST['name'];
}

if(isset($_POST['email'])){
$yourEmail = $_POST['email'];
}

if(isset($_POST['comment'])){
$yourComment = $_POST['comment'];
}

$conn = new mysqli('localhost', 'root', '','regisdata');

if($conn->connect_error){
    die('Connection Failed : ' .$conn->connect_error);
}
else
{
    $stmt = $conn->prepare("INSERT INTO guest_records('name', 'email', 'comment') VALUES (?, ?, ?)");
    
        if($stmt !== FALSE)
        {
            $stmt->bind_param("sss", $yourName, $yourEmail, $yourComment);
            $stmt->execute();
            $stmt->close();
            $conn->close();
            header("Location: guestbook.php?Success");
        }
}

?>


Что я уже пробовал:

У меня есть другой проект, который уже работает с использованием этого php-кода, но меня беспокоит, что он не работает в этом проекте. Когда я нажимаю кнопку Отправить, просто пустая страница php и никаких ошибок, и она должна вернуться в форму.

MadMyche

Вы проверили, что все эти переменные заполнены (имя и т. д)

1 Ответов

Рейтинг:
7

Richard Deeming

Цитата:
INSERT INTO guest_records('name', 'email', 'comment') VALUES (?, ?, ?)
Согласно с документация[^], вы не можете использовать одинарные кавычки вокруг идентификаторов объектов.

Вы можете использовать backticks:
INSERT INTO guest_records(`name`, `email`, `comment`) VALUES (?, ?, ?)
или, если ANSI_QUOTES включено, двойные кавычки:
INSERT INTO guest_records("name", "email", "comment") VALUES (?, ?, ?)


oceanotrash

Это сработало! спасибо @Ричард считая