Pulling people out of a database
Here's the code smells:


The new keyword in a class definition
A result() method and $output attribute for data created by single method
A very long, ambiguous method: run
Two mostly-different SQL statements separated by an if-else


And here's what I'd do to eliminate them:


Move the PDO object to a constructor argument (see below) so you're not violating the Law of Demeter (see #1 and 2 here)
Remove result() altogether and simply return the result from the method in which it's built.
Break this into smaller, more meaningful methods based on responsibility (see #4 below)
Create getMissionaryByArea() and getAllMissionaries() methods with optional parameters


Here's what my code might look like:

&lt;?php

/**
 * This class name is ambiguous.
 * I'm not sure what it means, so I cannot suggest a better name.
 */
class comps { 

    public function __construct(PDO $pdo) {
        $this-&gt;pdo = $pdo;
    }

    public function getMissionariesByArea($area, $admin_id=false, $omit_missionary_id=false, $limit=100) {
        $sql = &lt;&lt;&lt;'ENDSQL'
        SELECT m.*
        FROM missionarios m
        JOIN missionary_areas ma ON ma.missionary = m.mid
        WHERE ma.area_uid = :area 
        AND ma.missionary_released = '0'
        LIMIT :limit
ENDSQL;
        $params = [
            'area' =&gt; $area,
            'limit' =&gt; $limit
        ];

        if ($omit_missionary_id) { 
            $sql .= ' AND ma.missionary &lt;&gt; :omit_missionary_id';
            $params['omit_missionary_id'] = $omit_missionary_id;
        }

        if ($admin_id) {
            $sql .= ' AND m.admin = :admin_id';
            $params['admin_id'] = $admin_id;
        }

        $sth = $this-&gt;pdo-&gt;prepare($sql);
        $sth-&gt;execute($params);
        return $sth-&gt;fetchAll();
    }

    public function getAllMissionaries($admin_id=false, $limit=100) {
        $sql = 'SELECT * FROM missionarios';
        $params = ['limit' =&gt; $limit];

        if ($admin_id) {
            $sql .= ' AND admin = :admin_id';
            $params['admin_id'] = $admin_id;
        }

        $sth = $this-&gt;pdo-&gt;prepare($sql);
        $sth-&gt;execute($params);
        return $sth-&gt;fetchAll();
    }
}


I can revise if I've missed something in my refactoring.