Поможете определиться с правильностью запроса SELECT PDO?
д - дебаг и о - включенные ошибки творят чудеса.
вас не смущает биндинг переменных до того как они определены? меня вот смущает.
Поскольку вы запрашиваете COUNT(*), то всегда будет возвращаться одна строка и условие ($sql->rowCount() >= 1) всегда будет истинным.