Problém je v tom, že proměnná $Q neobsahuje platnou hodnotu, pravděpodobně proto, že hodnota předaná v $station1 v databázi neexistuje. Myslel bych si, že CI tomu zabrání alespoň použitím prázdného řetězce v uvozovkách, ale zjevně ne.
Musíte ověřit, že $Q uchovává rozumnou hodnotu, než ji předáte do where() . Například další num_rows() check vám řekne, zda první dotaz něco našel.
Také musíte předat data pole z $Q , nejen objekt. Takže ve vašem případě $Q->row()->Zone .