du bør sammenligne dato med dato, ikke dato med datetime
AND DATE(start_date) <= '2017-08-28'
AND DATE(end_date) >= '2017-08-28'
så
SELECT id AS couponID, percentage_off, usage_count, used_count
FROM coupons
WHERE `code` = 'DANGER'
AND active_status = '1'
AND deleted = '0'
AND DATE(start_date) <= '2017-08-28'
AND DATE(end_date) >= '2017-08-28'
AND category LIKE '%cLevel%'
i dit tilfælde bruger du var i php, og du bør konvertere korrekt ved hjælp af str_to_date, f.eks.:
str_to_date( '$now'),'%Y-%m-%d');
SELECT id AS couponID, percentage_off, usage_count, used_count
FROM coupons
WHERE `code` = 'DANGER'
AND active_status = '1'
AND deleted = '0'
AND DATE(start_date) <= str_to_date( '$now'),'%Y-%m-%d')
AND DATE(end_date) >= str_to_date( '$now'),'%Y-%m-%d')
AND category LIKE '%cLevel%'
eller som brugt af OP
str_to_date( '$now'),'%Y-%m-%d %H:%i:%s');
SELECT id AS couponID, percentage_off, usage_count, used_count
FROM coupons
WHERE `code` = 'DANGER'
AND active_status = '1'
AND deleted = '0'
AND start_date <= DATE_FORMAT('$now','%Y-%m-%d %H:%i:%s')
AND end_date >= DATE_FORMAT('$now','%Y-%m-%d %H:%i:%s')
AND category LIKE '%cLevel%'