Php 将多个复选框值放入数据库循环中

Php 将多个复选框值放入数据库循环中,php,Php,尝试在我的mySQL数据库中插入多个值,这就是我目前得到的结果 if (in_array(",", $_POST['categories'])) { /* Other was selected */} $cat = implode(" ,", $_POST['categories']); if (in_array(",", $_POST['subcat'])) { /* Other was selected */} $sub = implode("

尝试在我的mySQL数据库中插入多个值,这就是我目前得到的结果

if (in_array(",", $_POST['categories'])) { /* Other was selected */}
        $cat = implode(" ,", $_POST['categories']);
        if (in_array(",", $_POST['subcat'])) { /* Other was selected */}
        $sub = implode(" ,", $_POST['subcat']);
        if (in_array(",", $_POST['type'])) { /* Other was selected */}
        $type = implode(" ,", $_POST['type']);
        if (in_array(",", $_POST['payment'])) { /* Other was selected */}
        $payment = implode(" ,", $_POST['payment']);

        $sql = "INSERT INTO tbl_locations SET

                name='".$_POST['name']."', 
                alias='".$_POST['alias']."',
                category_id='$cat',
                subcategory_id='$sub',
                tourism_type_id='$type',
                lgu_id='$payment',
                latitude='".$_POST['latbox']."', 
                longitude='".$_POST['lngbox']."'
            ";
        $qry= mysql_query($sql) or die (mysql_error());
        if ($qry)
        {   
            header("location:addsuccess.php");
            exit();
        }

正如您所看到的,不仅有1个多条目,还有4个。如能继续进行,我们将不胜感激。。另外,我的表单都有
name=name[]
,因此表单上没有问题。它只是将单个值插入my db,而不是多个值。

应用程序的问题在于数据库设计。如果您可以有多个类别、类型、付款等,那么您需要一个能够处理此问题的关系模型。实现这一点的一种方法是使用一个表来处理您的请求,然后使用子表来处理每个请求的类别、类型、付款等

> requests table id date 1 2012-01-25 > categories table request_id category 1 1 1 2 >请求表 身份证日期 1 2012-01-25 >类别表 请求id类别 1 1 1 2
等等。

查找SQL注入。这是非常非常不安全的代码。了解。但这只是一个练习网站。练习
mysqli\uuu
PDO
;不推荐使用的函数。