Je ne suis pas sur une machine avec php pour tester cela, mais vous avez des requêtes avec des variables comme suit...
"select id from votes where username = '$user' and article_id = $this->id"
Je suis à peu près certain que vous devez mettre entre parenthèses ou concaténer lorsque vous utilisez des objets...
"select id from votes where username = '$user' and article_id = ${this->id}"
ou
"select id from votes where username = '$user' and article_id = " . $this->id