Wyrzucasz wiersz wyników, gdy wykonujesz $sth->fetchColumn()
. Nie tak sprawdzasz, czy są jakieś wyniki. Tak
if ($sth->rowCount() > 0) {
... got results ...
} else {
echo 'nothing';
}
Odpowiednia dokumentacja jest tutaj:PDOStatement::rowCount