Ho una select che in locale mi va mentre sul server non va

Codice PHP:
$query "SELECT id, nazione, citta, indirizzo
FROM             elenco
WHERE            nazione = 'Italia'
ORDER BY citta"
;
$result mysql_query($query$db);
while (
$row mysql_fetch_array($result))
{
echo 
"<a href=\"elenco.php?id=$row[id]\">" $row['citta'] . " - " $row['indirizzo'] . "<a>
"
;
           };
mysql_close($db);
?> 
quando clicco sul link generato ottengo che id='il numero esatto'

solo che in locale poi mi da il risultato esatto sulla pagina elenco.php?id=xxx mentre sul server non si porta appresso il valore dell'id, la query è
Codice PHP:
$query "SELECT id, nazione, e_mail, rag_soc, nominativo, citta, cap, indirizzo, telefono
FROM             elenco
where         id = 
$id"
Se faccio echo di $id lui non mi da valori sul server perchè?