您如何将服务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']."'"
答案 0 :(得分:1)
您应该使用两个具有一对多关系的数据库表,以使用表columnt链接多个元素。那将是更好的设计。
你可以用字符串的形式将所有id插入db,但我不认为,这就是你的目标。
另外,在输入int之前,你应该从$ _POST清理你的输入,以防止sql注入。
答案 1 :(得分:0)
你的数据库模型似乎不是normalized - 在编写应用程序之前首先纠正这个问题,这将导致将来出现一些重大问题。
另外,您不应该直接插入发布的数据以避免sql-injection。使用mysql_real_escape_string或更好的PDO来准备陈述。
直接解决你的问题:我认为'promotion_service_id'是一个整数字段 - '2,3,4'是一个字符串,所以(幸运的是)你没有机会插入它。