我从一个想要输入到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 中,因为它位于表单的两个单独字段中
答案 0 :(得分:5)
您在此处有多余的单引号:
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上的任何人都强烈建议use prepared statements and parameterized queries,以保护您的代码免遭SQL注入,并使您的查询更具可读性和可维护性。使用参数化查询时,这种错别字要容易得多。
答案 1 :(得分:2)
最好是有两个不同的列(如果要选择特定信息,它会提供更多选项)。但是,如果要将所有信息都保留在一个列中,可以将其放在一个变量中,以避免在查询中进行串联。
$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."'