问问题
16395 次
3 回答
6
将其存储到数组并使用逗号分隔将值保存到数据库。
<label for="aoi">Area of Interest:</label>
<select id="sel_aoi" name="aoi[]" multiple="multiple">
<option value="hr-executive">HR Executives</option>
<option value="sr-manager">Sr. Manager</option>
<option value="service-advisor">Service Advisor</option>
<option value="production">Production Engineer</option>
<option value="mechanical">Mechanical Engineer</option>
</select>
进程.php
$aoi = implode(',', $_POST['aoi']);
于 2012-08-12T12:34:45.427 回答
1
当您从$_POST
插入它们中获取值时,使用 mysql 插入多个值,如下所示:
insert into myTable
(someColumn, someOtherColumn)
values
(someValue1, someOtherValue1),
(someValue2, someOtherValue2),
(someValue3, someOtherValue3)
编辑:如果你想在一行中使用 PHP implode () 之类的东西:
$qry="insert into mytable (someColumn) values (".implode(',',$myArray).")
并不是说您要确保该$myArray
变量没有任何可能 SQJ 注入攻击您的数据库的内容。准备好的声明将是一个建议。
于 2012-08-12T12:26:30.277 回答
0
如果您的选项数量有限,您还可以尝试为数据库中的每个选项创建单独的列,而不是将它们保存在以逗号分隔的单个字段中。
例如
interest_executive: Boolean
interest_manager: Boolean
interest_service_advisor: Boolean
否则,我会采用逗号分隔的方法。另一种方法是创建一个单独的表,并在 user_id 和 interest_name_id 之间建立外键关系。
于 2022-02-21T17:35:28.847 回答