我想在我的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'";
我想在我的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'";
您可以通過這種方式
<?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
?>
您可以簡化這一點,並且不要在數組中指定鍵('column1','column2',...),因爲'join'將會連接值而不是鍵。 SQL語言中的$ columns之後也有一個逗號使得它無效。還有一件事 - 如果$ columnArray將爲空,那麼在TO_TIME之後也不需要逗號。 – DarkSide
感謝您的評論@DarkSide –
使用數組值建立你的mysql選擇查詢定義「不工作」。另外,爲什麼?有準備查詢的原因(你應該使用,提示提示!)不要讓你這樣做。 –
告訴我們(mysql?)錯誤 – albertdiones
「數組變量」?看看這個:http://stackoverflow.com/questions/907806/php-mysql-using-an-array-in-where-clause – TribalChief