Вставьте несколько значений в MySql Column

0

У меня есть информация из формы, которую я хотел бы ввести в MySQL DB. Обычная вставка отлично работает для меня, но я хотел бы объединить два текстовых поля в один столбец в базе данных.

Ниже приведен текущий код, который я использую для вставки значений в MySQL.

$make = $_POST['make'];
$model = $_POST['model'];

UPDATE gs.gs_objects SET
                vin = '".$vin."',
                plate_number = '".$engine."',
                model = '".$make."' '".$model."', //I am not sure if this is correct as it keeps giving me error!!
                installer = '".$installer."'
                WHERE imei = '$imei'

Я пытаюсь добавить марку и модель в колонку Ford Ranger, поскольку она находится в двух отдельных полях в моей форме.

  • 1
    Если вы выполняете такой запрос, обязательно проверьте сообщения об ошибках, сгенерированные MySQL - он быстро сообщит вам, работает ли он или нет
  • 1
    Также вы должны использовать подготовленные заявления
Теги:

2 ответа

2

У вас есть нежелательные одинарные кавычки здесь:

model = '".$make."' '".$model."'

Должен быть написан как:

model = '".$make." ".$model."'

Запрос:

$query = 
    "UPDATE gs.gs_objects SET
        vin = '".$vin."',
        plate_number = '".$engine."',
        model = '".$make." ".$model."', 
        installer = '".$installer."'
    WHERE imei = '$imei'";

Примечание: любой в SO настоятельно рекомендует использовать подготовленные операторы и параметризованные запросы, чтобы защитить ваш код от внедрения SQL-кода и сделать ваши запросы более читабельными и поддерживаемыми. Такая опечатка намного легче обнаружить при использовании параметризованных запросов.

1

Лучше всего иметь два разных столбца (это дает больше возможностей, если вы хотите выбрать конкретную информацию). Но если вы хотите сохранить всю информацию в одном столбце, вы можете сделать это в переменной, чтобы избежать конкатенации в запросе.

$make = $_POST['make'];
$model = $_POST['model'];

$complete_model = $make.' '.$model;

UPDATE gs.gs_objects SET
                vin = '".$vin."',
                plate_number = '".$engine."',
                model = '".$complete_model."',
                installer = '".$installer."'
                WHERE imei = '".$imei."'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню