将数组插入mysql数据库列

时间:2014-01-27 18:57:48

标签: php mysql arrays database

我正在尝试将表单中的多选下拉列表中的值插入到mysql db列中。例如:下拉列表将选择一个或多个选项,然后在发布表单时,它会将数据插入mysql数据库中的一列。我坚持如何插入数据。

4 个答案:

答案 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);

http://php.net/function.implode