如何使用变量中的数据创建具有相同名称的表?
如果有一个名为$ user_data的变量并且我们访问了['username']值,那么如何使用它来创建具有相同值的数据库表,以便每个用户可以在数据库中拥有自己的表,并且它的名称与数据库中的用户名相同。
这是链接表的正确方法,还是布局数据库数据的最佳方法。如何通过共享数据连接表和数据库?
答案 0 :(得分:0)
这些方面的东西:
mysql_query("CREATE TABLE {$user_data['username']}(id INT NOT NULL AUTO_INCREMENT);
答案 1 :(得分:0)
您可以查询表格创建。
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)");
在查询的括号内,您应该放置所需的表结构。
答案 2 :(得分:0)
这是一个非常糟糕的主意。 SQL Antipatterns书中有关于此主题的整篇章节“元数据Tribbles”(顺便说一下,我的建议,得到它)。
首先,对于用户,这将打开您的应用程序以获得额外的注入威胁。简单的一次和二次sql注入(阅读回合here和here)。这将降低您索引数据的能力。
相反,您应该将所有用户详细信息保存在一个(或两个,如果它是一个繁重的使用网站)表中,并使用外键将用户链接到其他内容。