Не работатет форма обратной связи php+sql
Ответы (1 шт):
Автор решения: Borislav
→ Ссылка
В вашем случае, код не выполняется по двум причинам, SQL-синтаксис запроса INSERT не верен, по доке: INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);, а во вторых, в базе поля не nullable, и в таком формате запросы выполнять нельзя, в худшем случае, если бы в базе поля ж были nullable, то вы бы получили 4 записи, аля: id: 0, name: Vasya, остальные поля null; id: 1, tel: 54643543, null, null; и тп., это можно обойти, если дополнительным запросом взять последний вставленный id и продолжить запросы уже с условием WHERE id = $db->getLastInsertId().
Решение:
$query = "INSERT INTO `feedback` (id, name, phone, email, product) VALUES (null, :name, :phone, :email, :product)";
$msg = $conn->prepare($query);
$msg->execute([
'name' => $_POST['name'],
'phone' => $_POST['tel'],
'email' => $_POST['email'],
'product' => $_POST['product']
]);
Код не проверял, но смысл думаю ясен.
![php[![][