使用变量作为列名创建表

时间:2019-06-04 15:23:08

标签: database

我想通过我的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";
            }
        }

0 个答案:

没有答案