IF(($q1) > 0, 1, 0)
Toto je část, která vrací chybu.
Také, jak to máte, $q1
se vyhodnocuje dvakrát, což pravděpodobně není to, co chcete.
Pokud správně chápu, o co se snažíte, pak byste měli být schopni tuto část vynechat. Pokud $q1
nevrátí žádné řádky, pak IN
výraz prostě nebude odpovídat vůbec ničemu.
Měli byste si také uvědomit, že IN
s poddotazy je v MySQL spíše neefektivní; s připojením by běželo mnohem rychleji:
SELECT `c_title` FROM `c_content` JOIN ($q1) `a` ON `c_content`.`c_id`=`a`.`bd_h_id`