我需要根据user提供的输入在sql数据库中创建一个新表。我想要这样的东西
$query = "CREATE TABLE . $POST['name'] . (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);";
用户在输入文本框中输入名称并提交。然后调用上面的查询。是否可以使用变量名称动态创建表。我正在尝试在mysql中执行此操作。我是sql的新手。
先谢谢
答案 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)
)";
您的语法不正确。那就是