Php 如何检索在数据库中动态创建的列

Php 如何检索在数据库中动态创建的列,php,mysql,dynamic,output,Php,Mysql,Dynamic,Output,我正在数据库中创建一个表,其中月份字段根据不同表中的日期值动态创建。代码是: //Get avaialable moths in the table $sql ="Select Distinct MONTHNAME(STR_TO_DATE(MONTH(test_date), '%m')) monthname from emp_csv order by MONTH(test_date) ASC "; $i=0; foreach($_pdo->query($sql) as $row) {

我正在数据库中创建一个表,其中月份字段根据不同表中的日期值动态创建。代码是:

//Get avaialable moths in the table
$sql ="Select Distinct MONTHNAME(STR_TO_DATE(MONTH(test_date), '%m')) monthname from emp_csv order by MONTH(test_date) ASC ";
$i=0;
foreach($_pdo->query($sql) as $row)    {
     $reportnoarr[$row["monthname"]]=$i;
     $monthconstruct[$i++]=$row["monthname"];

}
$implodedmonthname=implode($monthconstruct," varchar(30),")." varchar(30),totalreport varchar(30) ";


//Creating dynamic table 
$sql ="DROP  TABLE t_month";
$stat = $_pdo->query($sql); 
$sql ="CREATE  TABLE t_month ( region varchar(25),engineer varchar(50),$implodedmonthname)";
$stat = $_pdo->query($sql); 

   for($kj=0;$kj<12;$kj++){
                   $reportnumberarray[$kj]=0;
           }
//inserting data to the newly ceated table
$sql ="Select territory,web_rep_no, test_performed_by,MONTHNAME(STR_TO_DATE(MONTH(test_date), '%m')) monthname  from emp_csv order by test_performed_by, monthname,web_rep_no ";



$preveng="";
$totalrep=0;
$territoryname="";
$prevreport="";
$countrep=0;
$prevmonth="";
foreach($_pdo->query($sql) as $row)   {
$nexteng= $row["test_performed_by"];
$nextreport=$row["web_rep_no"];
$nextmonth=$row["monthname"];
if($preveng!=$nexteng && $preveng!=""){
$totalrep=$totalrep+$countrep;
for($mj=0;$mj<count( $monthconstruct);$mj++){
$reportar[$mj]=$reportnumberarray[ $reportnoarr[$monthconstruct[$mj]]];
}
$imploded="'".implode($reportar,"','")."'";
$sql = "INSERT INTO t_month VALUES ('$territoryname','$preveng',$imploded,'$totalrep')"; 

$stat = $_pdo->query($sql); 
$totalrep=0;
$countrep=0;
$prevmonth="";
$prevreport="";
   for($kj=0;$kj<12;$kj++){
                   $reportnumberarray[$kj]=0;
           }
}
if($prevmonth!=$nextmonth){
$totalrep=$totalrep+$countrep;
$countrep=0;

}
if($prevreport!=$nextreport)
$countrep++;



$reportnumberarray[$reportnoarr[$row["monthname"]]]=$countrep;

$preveng=$nexteng;
$territoryname=$row["territory"];
$prevreport=$nextreport;
$prevmonth=$nextmonth;
}
//在表中获取可用的蛾类
$sql=“按月(测试日期)ASC从emp\U csv顺序中选择不同的月份名称(STR\u TO\u DATE(MONTH(test\u DATE),“%m”);
$i=0;
foreach($_pdo->query($sql)作为$row){
$reportnoarr[$row[“monthname”]]=$i;
$monthconstruct[$i++]=$row[“monthname”];
}
$IMPODEDMONTHNAME=IMPODE($monthconstruct,“varchar(30)”)。“varchar(30)”,totalreport varchar(30)”;
//创建动态表
$sql=“DROP TABLE t_MOUNT”;
$stat=$\u pdo->query($sql);
$sql=“创建表t_month(region varchar(25),engineer varchar(50),$inpuldmonthname)”;
$stat=$\u pdo->query($sql);
对于($kj=0;$kjquery($sql)作为$row){
$nexteng=$row[“测试由”];
$nextreport=$row[“网络代表号”];
$nextmonth=$row[“monthname”];
如果($preveng!=$nexteng&&$preveng!=“”){
$totalrep=$totalrep+$countrep;
对于($mj=0;$mjquery($sql);
$totalrep=0;
$countrep=0;
$prevmonth=“”;
$prevreport=“”;

对于($kj=0;$kjIt)不清楚您想要完成什么。您想要在不使用
SELECT
sql查询的情况下从表中获取数据吗?我想要在不使用SELECT*from table语句的情况下获取表中的所有列