IF(($q1) > 0, 1, 0)
Dit is het deel dat de fout retourneert.
Ook, zoals je het hebt, $q1
wordt twee keer geëvalueerd, wat waarschijnlijk niet is wat je wilt.
Als ik goed begrijp wat je probeert te doen, dan zou je dit deel gewoon moeten kunnen weglaten. Als $q1
geeft geen rijen terug, dan de IN
uitdrukking komt gewoon met niets overeen.
Merk ook op dat IN
met subquery's is nogal inefficiënt in MySQL; zou veel sneller werken met een join:
SELECT `c_title` FROM `c_content` JOIN ($q1) `a` ON `c_content`.`c_id`=`a`.`bd_h_id`