Você está jogando fora uma linha de resultado quando você faz
$sth->fetchColumn()
. Não é assim que você verifica se há algum resultado. Você faz if ($sth->rowCount() > 0) {
... got results ...
} else {
echo 'nothing';
}
A documentação relevante está aqui:PDOStatement::rowCount