Folgender Quelltext - PHP

Code:
    public function query( $query )
    {
        if (is_resource($this->linkID) && is_string($query) && $query != '') {
            $result = @mysql_query($query, $this->linkID);

            if(is_resource($result)) {
                $this->queryID = $result;
            } else {
                throw new Exception('Datenbankabfrage fehlgeschlagen!');
            }

        } else {
            throw new Exception('Es existiert keine Datenbankverbindung!');
        }
    }
Es wird immer in den inneren Else-Zweig gesprungen und eine Exception geschmissen. Eigentlich müsste der SQL-Befehl auf jedenfall ausgeführt werden. Wo liegt das Problem?