Сорри за долгий ответ. Скорее всего проблема в выборе кавычек. Одинарный кавычки - это значение. То есть условно проверяется '100' = '0'. Это не будет истина. Проверяется в данном случае не значение колонки, а просто значение. Название колонки - это в обратных кавычках, то есть `. Должно работать так:
$id = $_SESSION['nomer']; $notReadNews = $modx->query("SELECT COUNT(*) as count FROM read_news WHERE `$id` = '0' and published = '1'")->fetchColumn(); echo $notReadNews;