#php #mysql #sql #sql-insert
#php #mysql #sql #sql-вставка
Вопрос:
Мне интересно, как вставить несколько значений в базу данных.
Ниже приведена моя идея, однако в базу данных ничего не добавляется.
Я успешно возвращаю указанные выше переменные (email, serial, title). И я также успешно подключаюсь к базе данных.
Значения просто не добавляются в базу данных.
Я получаю значения с устройства iOS и отправляю _POST их.
$email = $_POST['email'];
$serial = $_POST['serial'];
$title = $_POST['title'];
После того, как я получу значения, используя приведенный выше код. Я использую echo, чтобы убедиться, что у них есть значения.
Теперь я пытаюсь добавить их в базу данных:
//Query Check
$assessorEmail = mysqli_query($connection, "SELECT ace_id,email_address FROM assessorID WHERE email_address = '$email'");
if (mysqli_num_rows($assessorEmail) == 0) {
echo " Its go time add it to the databse.";
//It is unqiue so add it to the database
mysqli_query($connection,"INSERT INTO assessorID (email_address, serial_code, title)
VALUES ('$email','$serial','$title')");
} else {
die(UnregisteredAssessor . ". Already Exists");
}
Есть идеи?
Комментарии:
1. @Mihai Я считаю 3, я делаю это только один день, поэтому, если я все еще ошибаюсь…
2. Мой плохой, проверьте, установлены ли значения, у вас может быть столбец NOT NULL.
3. Какое сообщение вы получаете? «Пришло время добавить его в базу данных».? Или «Уже существует»?
Ответ №1:
Поскольку вы используете mysqli, я бы вместо этого выполнил подготовленную инструкцию
if($stmt = mysqli_prepare($connection, "INSERT INTO assessorID (email_adress, serial_code, title) VALUES (?, ?, ?)"))
{
mysqli_stmt_bind_param($stmt, "sss", $email, $serial, $title);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
}
Это, конечно, с использованием процедурного стиля, как вы делали выше. Это также гарантирует, что вы делаете безопасную запись.