如何使用变量中的数据创建同名表?
如果有一个名为 $user_data 的变量,我们访问了 ['username'] 值,如何使用它来创建具有相同值的数据库表,以便每个用户在数据库中都可以拥有自己的表,并且它被命名为与他们在数据库中的用户名相同。
这是链接表的正确方法还是布局数据库数据的最佳方法。表和数据库如何通过共享数据连接?
这是一个非常糟糕的主意。在SQL Antipatterns书中,实际上有一整章“Metadata Tribbles”关于这个主题(顺便说一句,我的建议,明白了)。
首先,对于用户而言,这将打开您的应用程序以应对额外的注入威胁。简单的一阶和二阶 sql 注入(在此处和此处阅读回合)。这会降低您索引数据的能力。
相反,您应该将所有用户详细信息保存在一个(或两个,如果它是一个重度使用站点)表中,并利用外键将用户链接到随后制作的其他内容。
这些方面的东西:
mysql_query("CREATE TABLE {$user_data['username']}(id INT NOT NULL AUTO_INCREMENT);
您可以查询表的创建。
mysql_connect("localhost", "bill", "3pD]gks*dg");
mysql_select_db("user_db");
mysql_query("CREATE TABLE ".$user_data['username']."(some_text varchar(15), some_int int)");
在查询的括号内,您应该放置所需的表结构。