Masalahnya adalah variabel $Q tidak mengandung nilai yang valid, mungkin karena nilai yang dikirimkan dalam $station1 tidak ada di database. Saya akan berpikir bahwa CI akan melawan ini setidaknya dengan menggunakan string kutipan kosong, tetapi ternyata tidak.
Anda perlu memvalidasi $Q . itu memegang nilai yang masuk akal sebelum Anda meneruskannya ke where() . Misalnya, num_rows() another lainnya check akan memberi tahu Anda apakah kueri pertama menemukan sesuatu.
Juga, Anda harus meneruskan data bidang dari $Q , bukan hanya objeknya. Jadi dalam kasus Anda, $Q->row()->Zone .