Трябва да върнете $result само в run() метод:
public function run($sql)
{
$result=$this->_connection->prepare($sql);
$result->execute();
return $result;
}
Връщане на $result->execute(); връща true защото execute() успял. Трябва да върнете текущото състояние на $result .
Вижте дали това работи.