2014-06-22 78 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 –

相關問題