Некоторые шаги отладки, которые могут помочь: 1) Убедитесь, что форма фактически отправляется скрипту, используя оператор вверху, который выглядит как if (count ($ _ POST)> 0) exit ('form provided «);
Если это не удается, то ваша форма никогда не ударяет по сценарию. Убедитесь, что атрибуты тега верны на странице HTML.
2) Добавьте эти строки перед созданием оператора SQL: exit (print_r ($ _POST, 1));
Убедитесь, что POST super global содержит данные, которые вы вводите в поля формы.
Предположительно, один из этих двух шагов покажет вашу проблему. Если нет, попробуйте это: В верхней части страницы выполните: phpinfo(); Выход();
Загрузите это в веб-браузере и выполните поиск по страницам «mysqli» и убедитесь, что ваша установка php поддерживает mysqli.
Если у вас действительно есть mysqli, и все еще не работает, убедитесь, что у вас нет столбца в таблице, который установлен в NOT NULL и не имеет значения по умолчанию, связанного с ним. Если это так, вам нужно будет включить это поле в свой запрос или изменить его на значение по умолчанию.
PS. Вы действительно не должны вводить необработанные пользовательские данные в SQL-запрос. Если у вас есть поддержка mysqli, вместо этого используйте подготовленные инструкции. Сначала они могут показаться немного чуждыми, но как только вы привыкнете к ним, вы никогда не вернетесь.
PPS. Вместо использования функционально-ориентированного подхода к mysqli вместо этого используйте ориентированный на объект интерфейс. Это немного более дружелюбно, и IMO, легче отлаживать.
PPPS. Если все это не удается, получите последнюю ошибку из базы данных.
Cheers
какая ошибка у вас? Вы ** определенно ** должны избегать ваших данных сообщения - посмотрите на SQL-инъекцию и используйте 'mysqli_real_escape_string' –
« ... он просто не вводит правильные данные, которые я вводил в форму ». - Он вводит какие-либо данные? – jboneca
1. echo $ zip и $ city до $ sql, чтобы убедиться, что вы получаете правильные данные, 2. сделайте это, наш друг @scrowler сказал вам, 3. если вы все еще получаете ошибку, разместите здесь фактическую ошибку –