SELECT * FROM `sites` WHERE `hostname` LIKE '%...%' OR `url` LIKE '%...%' AND `account_id` IN ('14', '15', '16', '17', '18', '19', '20', '21') AND `parse` = 1
Почему выбрались строки с parse 0, хотя я жестко задал 1.
потому что для логических выражений надо ставить скобки
здесь по сути два условия и они оба выполняются
1. WHERE `hostname` LIKE '%...%'
2. WHERE `url` LIKE '%...%' AND `account_id` IN ('14', '15', '16', '17', '18', '19', '20', '21') AND `parse` = 1
SELECT * FROM `sites` WHERE (`hostname` LIKE '%...%' OR `url` LIKE '%...%') AND `account_id` IN ('14', '15', '16', '17', '18', '19', '20', '21') AND `parse` = 1