我收到以下错误,字段列表中的列'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;
}
}
}
答案 0 :(得分:1)
$fields = '`list`.'.implode('`, `list`.`', $arg).'`';
但我强烈推荐Doctrine!
答案 1 :(得分:0)
似乎是你的mysql查询中的一个问题。指定表格的名称以及字段名称将是我猜的最简单的解决方案:
$fields = 'tablename'.$fields;
答案 2 :(得分:0)
变成只更改表中id的名称更容易。