我正在尝试将表单中的多选下拉列表中的值插入到mysql db列中。例如:下拉列表将选择一个或多个选项,然后在发布表单时,它会将数据插入mysql数据库中的一列。我坚持如何插入数据。
答案 0 :(得分:4)
如果要插入单行,则可以使用implode()生成逗号分隔数据,也可以执行json_encode()并添加到列中。
假设您将数据作为
$data = array("one", "two", "tree");
// output one, two, three
$insert_data = implode(",", $data);
or
$insert_data = json_encode($data);
用于在单列中插入数据。在检索时,您可以执行explode()或json_decode()来获取返回数据,并可以在多选中再次使用它们。
如果你想为每个项目选择一行,那么只需遍历数组并添加它们
答案 1 :(得分:1)
您可以使用http://us1.php.net/function.implode
将数组转换为单个字符串$comma_separated = implode(",", $array);
答案 2 :(得分:1)
将列的类型设置为string,然后使用函数serialize($ array)将数组转换为字符串。如果要将字符串返回到数组,请使用unserialize($ string)
答案 3 :(得分:0)
要考虑的几件事情:
如果存在一对多关系 - 它不应该在一列中,请查看多个表并更改数据库结构。
如果你真的想要传入一个数组,你需要使用php内置函数implode
将其转换为字符串,然后使用内置函数explode
从数据库中检索列
$arr = array('val1','val2');
$string = implode(',',$arr);
//Do db insert
//Do db retrieve
$arr = explode(',',$string);