Я создаю веб-форму, которую пользователь будет заполнять, а затем отправлять, добавляя свои данные в таблицу atyzi_wctc в базе данных. База данных устанавливает соединение, но продолжает отвечать с ошибкой «Нет данных для параметров в подготовленном операторе». Я новичок в PHP, поэтому надеюсь, что это даст достаточно информации для правильного понимания проблемы.
Отправка формы обрабатывается следующим образом:
Изначально отправка формы обрабатывается JavaScript, который предотвращает поведение отправки формы по умолчанию и вместо этого отправляет данные формы в скрипт PHP через запрос на выборку. Данные формы инкапсулированы в объект FormData, который позволяет загружать файлы, а также отправлять данные обычной формы:
Код: Выделить всё
wctcForm.addEventListener('submit', function(event) {
event.preventDefault(); // Prevent the default form submission
const formData = new FormData(wctcForm);
fetch(wctcForm.action, {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
if (data.status === 'success') {
closeWCTCModal();
window.location.href = '/wheelchair-travel-companion.php';
} else {
console.error('Error:', data.message);
}
})
.catch(error => {
console.error('Error:', error);
});
});
На стороне сервера скрипт PHP получает данные формы, обрабатывает их, очищает для предотвращения проблем безопасности и обрабатывает загрузку файлов. Затем сценарий PHP пытается вставить эти данные в базу данных.
Несмотря на эти меры, данные не добавляются в базу данных правильно, и меня неоднократно сталкивали с ошибками «Для параметров в подготовленном операторе данные не предоставлены». Кажется, я не могу получить более конкретного ответа, чем этот.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... prepared-s