【发布时间】:2014-11-01 19:20:19
【问题描述】:
我有以下数组:
Array
(
[step1] => 3
[step2] => Array
(
[1] => Array
(
[type] => 2
[price] => 312.5
)
[0] => Array
(
[type] => 1
[price] => 51.5
)
)
[step3] => Array
(
[first_name] => Test
[last_name] => Test
)
[step4] => Some answer
)
我想在数据库中插入。 Step2 可以拥有用户想要的任意数量的项目。您可能已经注意到 step2 的 2 个数组之间存在差异。 step3 也可以有更多的字段。这完全取决于用户。
它之所以是动态的,是因为用户可以在仪表板中管理表单输入字段。
我尝试为要插入的每个步骤执行一个 foreach 循环,但这并没有很好地工作。我想做的是:有一个动态的查询,以便每个字段都可以插入数据库中。我认为最简单的方法是在 step2 上做一个 foreach 循环,这样每个项目也有其他值。我的问题是如何使用 mysqli (OOP) 将这个多维数组中的所有数据插入到数据库中。
还检查了一些其他类似的问题,例如:
Inserting data into MySQL from a multidimensional array in php,
insert multiple rows via a php array into mysql,
insert php array into mysql
但这些对我没有帮助。所以implode() 不会帮助我。由于每个字段在数据库中都有自己的字段,因此序列化也不起作用。 (当用户在数据库中的仪表板字段中编辑表单时,也会发生更改)
提前致谢
【问题讨论】:
-
你的mysql表结构是什么样的?如果您不需要对这些字段运行查询,只需序列化数组并将其保存在单个字段中
-
哦,是的,谢谢你提醒我序列化。这对我没有帮助,但它提醒我需要编辑问题
-
您是否考虑过为每个数组创建一个对象并为每个包含正确查询并将其插入数据库的对象定义一个 insert() 方法。
-
@nismoracerx 我没有考虑过,所以我会尝试一下谢谢
-
如果您需要更多帮助,您需要解释您的数据库结构
标签: php arrays multidimensional-array mysqli