0

我收到以下错误,字段列表中的列“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;
}
}
}
4

3 回答 3

1
$fields = '`list`.'.implode('`, `list`.`', $arg).'`';

但我强烈推荐Doctrine

于 2012-07-29T01:44:59.473 回答
0

转而只更改表中 id 的名称更容易。

于 2012-07-29T07:17:10.713 回答
0

似乎是您的 mysql 查询中的问题。指定表的名称以及您的字段名称将是我猜想的最简单的解决方案:

$fields = 'tablename'.$fields;
于 2012-07-29T01:43:11.227 回答