Кто-нибудь видит что-то не так с этим. Это вовсе не публикация в базе данных. Существует базовая форма с запросом имени и адреса на странице. Но после отправки формы он просто переходит на пустую страницу.PHP Подготовленный оператор вставить в базу данных
Вот мой код. Существует нечто выше этого, которое обращается к API для проверки данных адреса и объявления переменных. Депутационная часть кода работает в случае, если это имеет значение.
if(empty($errorMessage))
{
// Dedupe the entry into the form
$dupesql = "SELECT * FROM formData WHERE (name = '$full_name' AND address = '$primary_number' AND city = '$city_name' AND state = '$state_abbreviation' AND zip = '$zipcode_full')";
$duperaw = $mysqli->query($dupesql);
if($duperaw->num_rows > 0) {
$dupe .= "$full_name already exists on $primary_number \n";
}
else {
$sql = "INSERT INTO formData(name, address, city, state, zip, date) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ssssss", $full_name, $primary_number, $city_name, $state_abbreviation, $zipcode_full, $date);
$stmt->execute();
header("location: index.php?success=1");
exit();
}
}
Я также попытался использовать запрос вместо подготовленное заявление, но это просто дает сообщение об успехе и оленья кожа запись в БД
$sql = "INSERT INTO fromData (name, address, city, state, zip, date) VALUES (".
$full_name . ", " .
$primary_number . ", " .
$city_name . ", " .
$state_abbreviation . ", " .
$zipcode_full . ", " .
$date . ")";
$mysqli->query($sql);
Любая помощь будет здорово!
Вы только получаете сообщение «успеха» с сырым запроса, так как вы не умирают от ошибок. Без кавычек вокруг значений вы почти наверняка нарушите синтаксис SQL. – cHao
@cHao я не понял, что это ошибка, но пропуская запрос и перейдя в заголовок, чтобы дать сообщение об успешном завершении? Попытка узнать это :) – Travis
Используйте mysqli_real_escape_string http://www.php.net/manual/en/mysqli.real-escape-string.php для не числовых значений, таких как имена и т. Д. – Eugen