Mysql 列';id';字段中的列表不明确

Mysql 列';id';字段中的列表不明确,mysql,Mysql,我得到以下错误,字段列表中的“id”列不明确。我怎样才能从该站点唯一地获取正确的ID function data () { if($at = mysql_real_escape_string(@$_GET['id'])){$at = mysql_real_escape_string(@$_GET['id']); $arg = func_get_args(); unset($arg[0]); $fields = '`'.implode('`,`', $arg).'`'; $query = mys

我得到以下错误,字段列表中的“id”列不明确。我怎样才能从该站点唯一地获取正确的ID

function data () {
if($at = mysql_real_escape_string(@$_GET['id'])){$at = mysql_real_escape_string(@$_GET['id']);

$arg = func_get_args();
unset($arg[0]);
$fields = '`'.implode('`,`', $arg).'`';
$query = mysql_query("SELECT $fields FROM `list` LEFT JOIN fruits ON location.id =  
fruits.fid     
LEFT JOIN store ON store.id = location.catid WHERE location.link = '$at'")or die(mysql_error());
$query_result = mysql_fetch_assoc($query);
$query_row = mysql_num_rows($query);
if($query_row==0){
return false;
}else{
foreach ($arg as $field){
$arg[$field] = $query_result[$field];
}return $arg;
}
}
}

这似乎是mysql查询中的一个问题。我想,指定表名和字段名是最简单的解决方案:

$fields = 'tablename'.$fields;

但我强烈推荐

使更改表中id之一的名称变得更容易

您的mysql查询中存在问题。$fields包含什么?
$fields = '`list`.'.implode('`, `list`.`', $arg).'`';