Está descartando una fila de resultados cuando hace $sth->fetchColumn()
. No es así como compruebas si hay algún resultado. lo haces
if ($sth->rowCount() > 0) {
... got results ...
} else {
echo 'nothing';
}
La documentación relevante está aquí:PDOStatement::rowCount