使用名称作为变量的结果创建新表失败

时间:2014-10-24 04:32:08

标签: php mysql

我希望它能让新人在我的网站上每次注册时都会专门为他们创建一个新表。这是我正在实现的文件系统。但是,在尝试使用变量作为表的名称时。它似乎给了我一个错误。我想知道是否有人知道原因。

以下代码是我的创建表代码,我已经连接并在脚本中选择了一个数据库,这不是问题

$newuser = $_POST['username'];

$create = "CREATE TABLE".$newuser." (
                                column_one varchar (20) NOT NULL,
                                column_two int NOT NULL auto_increment PRIMARY KEY,
                                column_three int NOT NULL,
                                column_four varchar (15) NOT NULL,
                                column_five year
)";

$results = mysql_query($create) or die (mysql_error());

然后我得到错误......

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLEAdministrator9 ( column_one varchar (20) NOT NULL, column' at line 1

然而,当它命名为“马铃薯”之类的东西时,它将继续创建它。所以我想知道当我希望它使用变量$ newuser的结果时,我使用的语法是否是一个问题。

我是后端编程的新手。

由于

1 个答案:

答案 0 :(得分:1)

你错过了一个空格:

$create = "CREATE TABLE ".$newuser." (
-----------------------^
                                column_one varchar (20) NOT NULL,
                                column_two int NOT NULL auto_increment PRIMARY KEY,
                                column_three int NOT NULL,
                                column_four varchar (15) NOT NULL,
                                column_five year
)";