Guarda, ho provato a creare una query simile sul mio server (IIS) e funziona, anche con l'AND...
A questo punto potrebbe essere qualche bazzecola sintattica come per esempio la punteggiatura.
Su alcune release di Windows non funzionano query copiate ed incollate da manuali, oppure l'else di alcune if non viene letto
se indentato (questione di spazi!), quindi non esito a crederti.

Prova così:
codice:
$query = "SELECT data,sq1,sq2,luogo FROM lnb2 WHERE (sq2='SAV Vacallo' OR sq1='SAV Vacallo') AND (ris1<=0) ORDER BY data ASC LIMIT 0,3";
if ((mysql_query($query, $db)) == false) { echo "Errore nella query!"; }
$result = mysql_query($query, $db);
$res_num = mysql_num_rows($result);
echo "La query eseguita ha trovato n° $res_num righe";

while($row = mysql_fetch_array($result))
{ $data = date('d.m.Y', $row['data']);
$ora = date('H:i', $row['data']);

echo "<table class=\"classifica\">
<tr><td class=\"grassetto\">$data</td></tr>
<tr><td>".$row['luogo']." - $ora</td></tr>
<tr><td>".$row['sq1']." - ".$row['sq2']."</td></tr>
</table>";
}
Non indentare nulla. Ho rettificato come da manuale anche la funzione date() che facevi su $row['data'] con il formato
della data H\hi che non è un formato valido. Inoltre hai 2 controlli
di flusso (in grassetto nel codice) che ti permetteranno di localizzare la causa dell'errore.
Secondo me ora va a palla. Se non va, dipende dai record che estrai nella tabella o qualche svista simile, come per esempio
che non hai creato quella colonna di nome sq2 etc...
Crepi il lupo!