У меня есть информация из формы, которую я хотел бы ввести в 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, поскольку она находится в двух отдельных полях в моей форме.
У вас есть нежелательные одинарные кавычки здесь:
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-кода и сделать ваши запросы более читабельными и поддерживаемыми. Такая опечатка намного легче обнаружить при использовании параметризованных запросов.
Лучше всего иметь два разных столбца (это дает больше возможностей, если вы хотите выбрать конкретную информацию). Но если вы хотите сохранить всю информацию в одном столбце, вы можете сделать это в переменной, чтобы избежать конкатенации в запросе.
$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."'