用户注册时创建MySQL表

时间:2012-04-15 04:20:10

标签: php mysql

我正在开发一个网站,它将为用户收集和存储信息。

我需要在注册时创建一个特定于每个用户的表格,以存储他们使用网站搜索的信息。创建的表将以新注册用户的用户名命名。

然后,当用户登录并运行搜索时,收集的数据将使用MySQL插入查询存储在数据库中,其中表名是包含登录用户的用户名的变量,该用户名也将是表名。

我是一名业余开发人员并且到处寻找尝试寻找解决方案,但我似乎无法找到与我的问题类似的任何东西。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

动态创建表比它的价值更麻烦,并且非常适合任何SQL数据库。

你没有找到任何关于你提到的方法的文档的原因是因为这个问题通常(几乎没有例外)通过在一个或多个表中包含所有数据来解决,并且包括指定哪个实体的列( user)该行与之关联。在您的情况下,这可能是电子邮件地址,用户名,或只是序号。

E.g。

 | user_id | email   | first_name   | last_name   | fave_color   |
 -         -         -              -             -              -
 |       1 | "a@b.c" | "anton"      | "aardvark"  | "red"        |
 |       2 | "b@c.d" | "miles"      | "o'brien"   | "infrared"   |
 |     ... |         |              |             |              |

答案 1 :(得分:0)

首先从用户那里取名:

$fullname="$fname"."_"."$lname";

然后,编写这样的查询以创建该名称的表

$sql="CREATE TABLE $fullname(ALL THE COLLUMNS YOU WANT TO CREATE)";
$result1=mysql_query($sql, $db_link);

此查询来自我的项目。在wampserver中正常工作。

相关问题