2014-06-22 52 views
0

我想在我的php代码中使用以下select查询,其中所有var1,var2,var3,var4,var5都是数组变量,但它不工作如何在mysql select语句中使用php数组变量作为列名称

$sql="SELECT SNo,Date,FROM_TIME,TO_TIME,$var1,$var2,$var3,$var4,$var5 
FROM $table_name 
WHERE Date='$start_date'"; 
+0

使用数组值建立你的mysql选择查询定义“不工作”。另外,为什么?有准备查询的原因(你应该使用,提示提示!)不要让你这样做。 –

+0

告诉我们(mysql?)错误 – albertdiones

+0

“数组变量”?看看这个:http://stackoverflow.com/questions/907806/php-mysql-using-an-array-in-where-clause – TribalChief

回答

0

您可以通过这种方式

<?php 
$columnArray=array('column1'=>'value1', 
     'column2'=>'value2', 
     'column3'=>'value3', 
     'column4'=>'value4'); 
     //print_r($columns); 
     $columns = implode(',',array_keys($columnArray)); 
     if(count($columnArray)>0) 
     $comma=','; 
     else 
      $comma=''; 

     $sql="SELECT SNo,Date,FROM_TIME,TO_TIME" .$comma." $columns 
      FROM tableName 
      WHERE Date='2014-06-22'"; 
     print $sql; //final query 
     ?> 
+0

您可以简化这一点,并且不要在数组中指定键('column1','column2',...),因为'join'将会连接值而不是键。 SQL语言中的$ columns之后也有一个逗号使得它无效。还有一件事 - 如果$ columnArray将为空,那么在TO_TIME之后也不需要逗号。 – DarkSide

+0

感谢您的评论@DarkSide –

相关问题