Problem w tym, że zmienna $Q nie zawiera prawidłowej wartości, prawdopodobnie dlatego, że wartość przekazana w $station1 nie istnieje w bazie danych. Myślałem, że CI zapobiegnie temu, używając przynajmniej pustego ciągu w cudzysłowie, ale najwyraźniej nie.
Musisz potwierdzić, że $Q przechowuje sensowną wartość przed przekazaniem jej do where() . Na przykład inny num_rows() check powie Ci, czy pierwsze zapytanie cokolwiek znalazło.
Ponadto musisz przekazać dane pola z $Q , a nie tylko obiekt. Tak więc w twoim przypadku $Q->row()->Zone .