Трассировка стека

$link = mysqli_connect('localhost', 'root', '', 'message_id');
if (empty($_POST['name'])) exit("Поле не заполнено");
if (empty($_POST['content'])) exit("Поле не заполнено");

$query = "INSERT INTO message VALUES (NULL, :name, NOW())";
$msg = $link->prepare($query);
$msg->execute(['name' => $_POST['name']]);

$msg_id = $link->lastInsertId();

$query = "INSERT INTO message_content VALUES (NULL, :content, :message_id)";
$msg = $link->prepare($query);
$msg->execute(['content' => $_POST['content'], 'message_id' => $msg_id);

header("Location: index.html");

Как пофиксить ошибку

Fatal error: Uncaught Error: Call to a member function prepare() on boolean in W:\domains\Message\addmessage.php:8 Stack trace: #0 {main} thrown in W:\domains\Message\addmessage.php on line 8

пользуюсь OpenServer


Ответы (1 шт):

Автор решения: Ivan Dudarev

Функция mysqli_connect вернула false вместо соединения. Проверьте параметры подключения к БД, проверьте саму БД

→ Ссылка