Você precisa retornar o
$result apenas no run() método:public function run($sql)
{
$result=$this->_connection->prepare($sql);
$result->execute();
return $result;
}
Retornando o
$result->execute(); está retornando true porque o execute() conseguiu. Você precisa retornar o estado atual de $result . Veja se isso funciona.