Как правильно обратиться к БД оператором INSERT INTO?

Изучаю php по книге Мориссона. Необходимо поместить в базу данных несколько переменных, взятых из веб-формы. К сожалению, код, представленный в книге, так и не заработал у меня. Подозреваю, что ошибка кроется где-то в синтаксисе при назначении переменной $query. Обработчик к БД явно подключается, но не записывает данные в таблицу. Скриншот из книги прилагаю.
$first_name = $_POST['firstname'];
$last_name = $_POST['lastname'];
$when_it_happened = $_POST['whenithappened'];
$how_long = $_POST['howlong'];
$how_many = $_POST['howmany'];
$alien_description = $_POST['aliendescription'];
$what_they_did = $_POST['whattheydid'];
$fang_spotted = $_POST['fangspotted'];
$email = $_POST['email'];
$other = $_POST['other'];

$dbc = mysqli_connect('localhost', 'odnorog', '12345', 'aliendatabase')
	or die ('Ошибка соединения с MySQL-сервером');

$query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_they_did, fang_spotted, other, email) " .
"VALUES ('$first_name', '$last_name', '$when_it_happened', '$how_long', '$how_many', '$alien_description', '$what_they_did', '$fang_spotted', '$other', '$email')";

$result = mysqli_query($dbc, $query)
	or die ('Ошибка при выполнении запроса к базе данных.');

mysqli_close($dbc);


echo 'Спасибо за заполнение формы.<br />';
echo 'Вы были похищены ' . $when_it_happened;
echo ' и отсутствовали в течение ' . $how_long . '<br />';
echo 'Количество космических пришельцев: ' . $how_many . '<br />';
echo 'Опишите их:' . $alien_description . '<br />';
echo 'Что они делали? ' . $what_they_did . '<br />';
echo 'Видели ли Вы мою собаку Фэнга? ' . $fang_spotted . '<br />';
echo 'Дополнительная информация: ' . $other . '<br />';
echo 'Ваш адрес электронной почты ' . $email;


5bbaa49da3268118504195.png

Контекст книги об инопланетянах, похитивших собаку)
5bbaa54559db9413350444.png
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
DevMan
@DevMan
1. предлагаю прекратить учиться по этой книге - глядя на представленный код, она не научит вас ничему хорошему.
2. как минимум воспользоваться функцией https://secure.php.net/manual/ru/mysqli.error.php для получения описания ошибки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Прежде чем работать с базой данных научитесь работать с ошибками в php.
Включите их вывод в режиме разработки.
Кроме того, добавьте вывод реальных ошибок взаимодействия с базой данных, а не бессмысленный текст.
Безусловно, на рабочем сервере этого работа с ошибками организуется по другому.
Но вы пока учитесь, а потому должны иметь максимум информации о происходящем.

И помните. Книга не причём. Код в ваших руках. Вы с ним работаете.
Ответ написан
Ваш ответ на вопрос

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

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