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

Seems to be a problem in your mysql query. Specifying the name of the table along with the name of your field would be the easiest solution I guess:

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