Ой, а можно я тоже "сложным" запросом похвастаюсь? А то самокритика ведет - 333:1 .
Код:
SELECT DISTINCT
`news`.`n_id`,
`news`.`n_desc`,
`news`.`n_dt`,
`regions`.`r_name`,
`news`.`n_cap`,
`categories`.`c_name`
FROM
`news`,
`n_c`,
`n_r`,
`regions`,
`categories`
WHERE
(`news`.`n_id` = `n_c`.`n_id`) AND
(`news`.`n_id` = `n_r`.`n_id`) AND
(`news`.`n_dt` <= \''.$DateB.'\') AND
(`news`.`n_dt` >= \''.$DateE.'\') AND
(`n_r`.`r_id` = `regions`.`r_id`) AND
(`n_c`.`c_id` = `categories`.`c_id`) AND
(`n_r`.`r_id` = 1) AND
(`n_c`.`c_id`>100) AND
(`n_c`.`c_id`<200)
'.$QCatReg.'
ORDER BY
`news`.`n_dt` DESC'
На счет проверки синтаксиса запроса нужно обращаться по адресу
. Зачем php об этом думать, если это не его задача? Другой вопрос, что он знает об ошибке последнего запроса, знает и молчит, заставит же его говорить об этом функция
mysql_error().