如何在sql create语句中使用变量名作为表名

时间:2017-06-11 07:40:40

标签: javascript php sql mysqli create-table

我需要根据user提供的输入在sql数据库中创建一个新表。我想要这样的东西

$query = "CREATE TABLE . $POST['name'] . (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);";

用户在输入文本框中输入名称并提交。然后调用上面的查询。是否可以使用变量名称动态创建表。我正在尝试在mysql中执行此操作。我是sql的新手。

先谢谢

3 个答案:

答案 0 :(得分:2)

您可以用大括号括起变量,如下所示:

$query = "CREATE TABLE {$_POST['name']} (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)";

答案 1 :(得分:1)

回答我自己的问题,以便它对其他人有用......

先将POST变量存储在局部变量中并在sql语句中给出局部变量对我来说很好。

$table_name = $_POST['name'];

$query = "CREATE TABLE $table_name (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)";

答案 2 :(得分:0)

$query = "CREATE TABLE $_POST['name'] (
   PersonID int,
   LastName varchar(255),
   FirstName varchar(255),
   Address varchar(255),
   City varchar(255)
)";

您的语法不正确。那就是