Se il codice da te postato è lo stesso che utilizzi per fare le prove è impossibile che tu riceva l'errore che dici dato che $query è una stringa sia che tu utilizzi il codice iniziale oppure quello suggerito da badaze.
Probabilmente il codice da te postato non è completo e manca qualche parte intermedia importante.