a cosa ti serve questo?

Codice PHP:
 if($key count($arrrefeals)) $sql.=" OR "
la chiave di ogni elemento dell'array è sempre minore del numero di elementi (perchè inizia da 0) quindi anche se hai un solo elemento $key=0 e count($arrrefeals)=1

quindi probabilmente la tua query sarà qualcosa del tipo ".... WHERE register.IDUtente='$refeal' AND ........ OR ORDER BY" che ovviamente è sbagliato.