IF(($q1) > 0, 1, 0)
Dette er den del, der returnerer fejlen.
Også som du har det, $q1
bliver evalueret to gange, hvilket nok ikke er, hvad du ønsker.
Hvis jeg forstår rigtigt, hvad du prøver at gøre, så burde du bare kunne udelade denne del. Hvis $q1
returnerer ingen rækker, derefter IN
udtryk vil simpelthen ikke matche noget som helst.
Bør også bemærke, at IN
med underforespørgsler er ret ineffektivt i MySQL; ville løbe meget hurtigere med en join:
SELECT `c_title` FROM `c_content` JOIN ($q1) `a` ON `c_content`.`c_id`=`a`.`bd_h_id`