我正在开发一个网站,它将为用户收集和存储信息。
我需要在注册时创建一个特定于每个用户的表格,以存储他们使用网站搜索的信息。创建的表将以新注册用户的用户名命名。
然后,当用户登录并运行搜索时,收集的数据将使用 MySQL 插入查询存储在数据库中,其中表名是包含登录用户的用户名的变量,该用户名也是表名。
我是一名业余开发人员,并且到处搜索以尝试找到解决方案,但我似乎找不到任何与我的问题完全相似的东西。
预先感谢您的任何帮助!
动态创建表比它的价值要麻烦得多,并且与任何 SQL 数据库逆流而上。
您没有找到有关您提到的方法的任何文档的原因是因为这个问题通常(几乎无一例外)通过将所有数据放在一个或多个表中并包含一列来指定哪个实体(用户)来最好地解决行相关联。在您的情况下,这可能是电子邮件地址、用户名或序列号。
例如
| user_id | email | first_name | last_name | fave_color |
- - - - - -
| 1 | "a@b.c" | "anton" | "aardvark" | "red" |
| 2 | "b@c.d" | "miles" | "o'brien" | "infrared" |
| ... | | | | |
首先取用户名,如:
$fullname="$fname"."_"."$lname";
然后,编写这样的查询来创建该名称的表
$sql="CREATE TABLE $fullname(ALL THE COLLUMNS YOU WANT TO CREATE)";
$result1=mysql_query($sql, $db_link);
这个查询来自我的项目。在 wampserver 中运行良好。