我如何将id数组插入到数据库的单个字段中

时间:2010-10-19 10:24:51

标签: php sql

您如何将服务ID数组插入表中的单个字段,如2,3,4在数据库中我很困惑请帮助以下我的代码...我正在使用此但它只插入单个ID。

$service=implode(",",$_POST['service']);

$sqlQuery="INSERT INTO ".DBPROMOTION." SET 
            promotion_service_id='".$service."', 
            promotion_user_id='".$user."', 
            promotion_discount='".$_POST['discount'].$_POST['type']."',
            promotion_title='".$_POST['title']."',
            promotion_start_date='".$startDate."', 
            promotion_end_date='".$endDate."', 
            promotion_code='".$_POST['code']."', 
            promotion_description='".$_POST['desc']."'"

2 个答案:

答案 0 :(得分:1)

您应该使用两个具有一对多关系的数据库表,以使用表columnt链接多个元素。那将是更好的设计。

你可以用字符串的形式将所有id插入db,但我不认为,这就是你的目标。

另外,在输入int之前,你应该从$ _POST清理你的输入,以防止sql注入。

答案 1 :(得分:0)

你的数据库模型似乎不是normalized - 在编写应用程序之前首先纠正这个问题,这将导致将来出现一些重大问题。

另外,您不应该直接插入发布的数据以避免sql-injection。使用mysql_real_escape_string或更好的PDO来准备陈述。

直接解决你的问题:我认为'promotion_service_id'是一个整数字段 - '2,3,4'是一个字符串,所以(幸运的是)你没有机会插入它。