我正在尝试为每个注册用户创建一个数据库表。我究竟做错了什么?

时间:2011-10-01 01:55:38

标签: php mysql database string

我正在尝试登录和注册页面,我正在创建一个新数据库,我可以这样做:

mysql_select_db("my_db", $con);

$sql = "CREATE TABLE Persons
(
  FirstName varchar(15),
  LastName varchar(15),
  Age int
)";

// Execute query
mysql_query($sql,$con);

我想要做的是用一个字符串替换“人”,这样它就可以创建一个表,但它是动态的。我需要一个字符串,因为我为每个注册的用户创建一个表,新表的名称是他们的用户名和密码通过md5sum加密发送。我试过这个没有成功它不会像另一个那样制作一个新表:

mysql_select_db("my_db", $con);

$sql = "CREATE TABLE $data
(
  FirstName varchar(15),
  LastName varchar(15),
  Age int
)";

// Execute query
mysql_query($sql,$con);

请帮帮我。我试过加入字符串没有运气,所以我需要帮助。

2 个答案:

答案 0 :(得分:12)

  

我正在尝试为每个注册用户创建一个数据库表。 我做错了什么?

您正在为每个注册用户创建一个数据库表。

这不是您应该使用关系数据库的方式。您为每个新用户创建,而不是表。当然,您需要在Persons表格中添加一些额外的列,例如Password。我也建议不要存储年龄,因为这不是常数。改为存储Birthday

INSERT INTO Persons (FirstName, LastName, Birthday, Password)
VALUES ('John', 'Smith', '1980-07-21', 'SOME HASH HERE');

我希望你不要误解,但在尝试编写更多代码之前,你需要放慢脚步并学习更多关于SQL的知识。相信我,从长远来看会更好。

答案 1 :(得分:0)

我回顾过去我曾经问过的一些问题,看到我在过去几年中学到了多少,这让我很疯狂。