Проблемът е, че променливата $Q не съдържа валидна стойност, вероятно защото стойността, предадена в $station1 не съществува в базата данни. Бих си помислил, че CI ще се противопостави на това, като използва поне празен низ в кавички, но очевидно не.
Трябва да потвърдите това $Q съдържа разумна стойност, преди да я предадете на where() . Например друг num_rows() проверката ще ви каже дали първата заявка е намерила нещо.
Освен това трябва да предадете полето данни от $Q , а не само обекта. Така че във вашия случай, $Q->row()->Zone .