我有一個字段數組,並在使用implode
函數並將它們轉換爲字符串後,我試圖使用此字符串作爲mysql_query()
函數中的列名稱,如下所示:無法處理mysql_query()函數中的字符串php
$field_array = array('course','batch','branch');
$fields = implode(", ",$field_array);
$resource = mysql_query("SELECT $fields FROM some_table") or die(mysql_error());
但我收到以下錯誤。我在這裏做錯了什麼?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM fix_data' at line 1
下面是我使用
function fetch_resource_db_nowhere($table_name,$field_array,$return_type,$return_type_name) {
if($field_array[0]=='ALL') {
//echo "asda";
$resource = mysql_query("SELECT * FROM ".$table_name."") or die(mysql_error());
}
else {
$fields = implode(",",$field_array);
$sql = "SELECT ".$fields." FROM ".$table_name."";
echo $sql;
$resource = mysql_query($sql) or die(mysql_error());
}
if($return_type == 'resource') {
return $resource;
}
if($return_type == 'resource_array') {
return mysql_fetch_assoc($resource);
}
if($return_type == 'resource_array_value') {
$resource_array = mysql_fetch_assoc($resource);
return $resource_array[$return_type_name];
}
}
$data = fetch_resource_db_nowhere('fix_data',array('course','branch','name'),'resource','');
什麼'echo「SELECT $ fields FROM some_table」;'yield? –
'SELECT course,branch,name FROM fix_dataSELECT FROM fix_data'這是我得到的確切輸出。現在有些東西肯定是錯的。 – hsinxh