Как эффективно заменить (mysql_result (mysql_query ()) в PDO?

Поскольку мой процесс почти завершен для переписывания сети с помощью PDO вместо команд mysql_* я теперь тестирую измененные функции. И Кажется, что моя измененная функция для mysql_result(mysql_query() всегда возвращает true, почему это? Позволяет увидеть оригинальный и измененный код:

 if (mysql_result(mysql_query("SELECT COUNT(*) FROM account WHERE id='".$_SESSION["user_id"]."' AND online=1"), 0)>0) { return true; } else return false; 

И изменил код здесь:

 $stmt = $db_login->prepare("SELECT COUNT(*) FROM account WHERE id=:id AND online=1"); $stmt->bindValue(':id', $_SESSION["user_id"], PDO::PARAM_INT); $stmt->execute(); $results_login = $stmt->fetch(PDO::FETCH_ASSOC); $rows = count($results_login); if ($rows > 0) { return true; } else return false; 

Итак, что не так, почему он всегда возвращает true, даже если столбец имеет онлайн = 0? спасибо