基于变量的表

是否可以创建一个受变量影响的表? 而不是创建标准表。您可以让用户创建自定义表。像注册一样,我可以在数据库下执行
CREATE TABLE
,并且表的名称受PHP变量的影响吗?对于表中的字段,同样的事情是什么? 例如,表中的
$username.table
和表中的字段
$username_field
?     
已邀请:
  为什么?我需要用户能够添加他们需要的字段。有点像让他们创建一个onlin表单 然后,您需要设计数据库以实现此目的。不要懒惰并为表单字段创建表。这不仅是安全风险,也不会很好地扩展。这是一个非常糟糕的例子,说明如何设计基于表的系统来处理动态表单生成。
DROP TABLE "main"."form";
CREATE TABLE "form" (
"id"  INTEGER NOT NULL,
"name"  TEXT NOT NULL,
PRIMARY KEY ("id")
);
DROP TABLE "main"."form_field";
CREATE TABLE "form_field" (
"form"  INTEGER NOT NULL,
"id"  INTEGER NOT NULL,
"name"  TEXT NOT NULL,
PRIMARY KEY ("form", "id")
);
希望你的想象能带你从这里来。     
这当然是可能的,你只需要写好形式的
CREATE TABLE
/
ALTER TABLE
查询。 为了让您的用户能够创建自定义字段,不需要自定义/动态创建表。 考虑改为创建一个可以将用户创建的字段保存为行的
Custom_Fields
表。 例如
User Table
| userid | username |

Custom Field Table
| fieldid | userid | field_name | field_value

Get My Custom Fields/Values:
SELECT `field_name`,`field_value` FROM `custom_fields` WHERE `userid`=$myUserId
    
作为选项,您可以为每个用户创建SQLite数据库,并将其放在用户指定的目录中。     
这不是你应该如何使用数据库。如果您像这样设置数据库,则无法使用查询语言的所有(大多数)函数。 但是要创建表(在mysql中我假设你正在使用它),请使用CREATE TABLE查询。     

要回复问题请先登录注册