Неудивительно что не работает. Тут неправильно примерно всё.
- Пробел нельзя вставлять в поле с автоинкрементом. Надо вставлять либо null либо вообще пропустить это поле.
- Переменные надо отправлять не напрямую, а через подстановки
- Ошибки никогда не надо выводить вручную, а надо оин раз настроить базу чтобы она сообщала об ошибках сама
Код для соединения взять
отсюда
А сам запрос выполнять так:
Все переменные надо заменить в запросе на знаки вопроса,
затем подготовить запрос,
привязать к нему переменные,
и выполнить
$query = "INSERT INTO `post` (`post_id`, `cat`, `title`, `keywords`, ...)
VALUES (null,?,?,?, ..., NOW(),?,?)";
$stmt = $con->prepare($query);
$stmt->bind_param("sss...", $cat,$title,$keywords, ...);
$stmt->execute();
echo "<p>Информация занесена в базу данных</p>";
Количество знаков вопроса в запросе и количество букв "s" в первом параметре bind_param должно соответствовать количеству переменных.