implode 関数内で配列を使用してクエリを実行しようとしています。
$dosages = implode(" AND CONCAT(prescription,'-',dosage) =",$doses);
$q=$this->db->query("SELECT account_num
FROM (
SELECT account_num, CONCAT(prescription,'-',dosage) as script
FROM ci_prescription_history
)a
WHERE script=".implode(' AND script=',$doses));
MySQL は、「'where 句' の不明な列 'Advair'」と言い続けます。implode 関数内の変数を一重引用符で囲むことが可能かどうかを知りたいだけなので、解析すると次のように読み出されます
SELECT account_num
FROM ( SELECT account_num, CONCAT(prescription,'-',dosage) as script
FROM ci_prescription_history
)a
WHERE script='Advair-230/21' AND script='Advair-250/50'