Добавление данных в поле ENUM через форму в SQL

В настоящее время у меня есть форма, в которую отправляются значения для добавления данных в мою таблицу. У меня есть полеproperty_id'который является ENUM, Каждый раз, когда я пытаюсь отправить поле, я получаю сообщение об ошибке:

Fatal error: Uncaught mysqli_sql_exception: Data truncated for column 'property_id' at row 1 in ...

Есть ли способ добавить данные в ENUM поле через мою форму? Вот мой код ниже, который соединяет форму с базой данных:

ini_set('display_errors', 1);
ini_set('log_errors', 1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$property_id       = filter_input(INPUT_POST, 'property_id');
$firstline_address = filter_input(INPUT_POST, 'firstline_address');
$postcode          = filter_input(INPUT_POST, 'postcode');
$vacant            = filter_input(INPUT_POST, 'vacant');

if (!empty($property_id)) {
    if (!empty($postcode)) {
        $host       = "";
        $dbusername = "";
        $dbpassword = "";
        $dbname     = "";

        //new connection
        $conn = new mysqli($host, $dbusername, $dbpassword, $dbname);

        if (mysqli_connect_error()) {
            die('Connect Error (' . mysqli_connect_errno() . ')'
                . mysqli_connect_error());
        } else {
            $sql = "INSERT INTO property (property_id, firstline_address, postcode, vacant)
      values ('$property_id', '$firstline_address', '$postcode', '$vacant')";

            if ($conn->query($sql)) {
                echo "New property has been successfully added. Refresh page to view new property in the table below.";

            } else {
                echo "Error: ";
                //. $sql ."<br>".$conn->error;
            }
            $conn->close();
        }

    } else {
        echo "All fields are required!";
        die();
    }
} else {
    echo "Please fill out all fields to continue.";
    die();
}

0 ответов

Другие вопросы по тегам