是否可以使用PHP中的变量自动在数据库表中插入列?

时间:2017-11-15 13:17:36

标签: php mysql

我正在尝试使用变量自动在数据库表中插入一列。

我有一个名为tbl_category的表,我想让用户根据自己的选择选择子类别字段。因此,从仪表板中,用户将插入3/4(或他们想要创建的字段数)子类别字段。

我将此值视为$insert_sub_cat_count。因此,当此信息将点击名为function save_category_info($data)的函数时,该函数将获得$insert_sub_cat_count的值$data

之后,此信息必须在表tbl_category中实现,并根据值$data自动添加3/4字段。

如果用户输入2,则会自动插入两列:

enter image description here

如果用户输入3,则会插入3列:

enter image description here

这可能吗?我不知道如何自动扩展列,或者是否有其他方法可以这样做。

2 个答案:

答案 0 :(得分:1)

Insert用于将变量插入到现有列中,您需要在填充之前先创建列:

[class*="weather/"]

答案 1 :(得分:1)

从一开始就是一个坏主意。正如Raymond Nijland上面所说的那样("带有增量的相同列名是SQL反模式......你应该检查表规范化而不是#34;),你不应该允许用户创建具有所需名称的列。你的数据库。您应该有以下表格:

user - id, name
categories - id, id_user, name
subcategories - id, id_category, id_user, name

因此,您可以将类别和子类别链接到创建它的用户。您不需要为每个用户创建单独的列。 如果您担心速度,则应为子类别表添加索引,列为:id_user。通过这种方式,搜索将足够快。