我想通过我的php代码在数据库中动态创建一个表,但我希望列的名称成为用户以我已经创建的形式输入的内容。 例如 创建表tbname(col1数据类型,col2数据类型等),但是,我希望列的名称是用户以表格形式提供的名称
First, I tried the following
$mark_sheet is an array that contains the names I want to give my columns
create table tb(for($x=0; $x < count($mark_sheet); $x++{
$mark_sheet[$x] varchar(20),
}
);
然后我尝试创建一个只有一个列(用户名)的表,并在for循环中尝试通过使用alter table tb添加列来添加$ input_from_the_user varchar(20)
//I stored all the inputs from the user in an array called $mark_sheet
for($x = 0; $x < count($mark_sheet); $x++) {
echo $mark_sheet[$x];// will output all the inputs provided by the user
echo "<br>";
}
$ctb="create table tb(
username varchar(20)
)";
if($this->connect()->query($ctb)){
echo "table created";
}
for($x=0; $x < count($mark_sheet); $x++) {
$sql = 'alter table tb add "'.$mark_sheet[$x].'" varchar(2)"';
if($this->connect()->query($sql)){
echo "table altered successfully";
}else{
echo "table failed";
}
}