Вставка нескольких значений в базу данных MySQL с помощью PHP

#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);
}
 

Это, конечно, с использованием процедурного стиля, как вы делали выше. Это также гарантирует, что вы делаете безопасную запись.