在MySql列中插入多个值

时间:2019-02-04 13:58:30

标签: php mysql sql

我从一个想要输入到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 中,因为它位于表单的两个单独字段中

2 个答案:

答案 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."'