I have the following function that works fine.  Is there a better way to do it and will this be efficient if I have 100+ rows returned from each table?

**The database**

**Tables**

 - `wcx_articles`
 - `wcx_videos`
 - `wcx_apps`
 - `wcx_links`

**The corresponding _active column for each table**

 - `article_active`
 - `video_active`
 - `app_active`
 - `link_active`

`_active` is a switch 1 or 0

**This is my current function**

    public function findInactiveItems() {
            
        $query = "SELECT * FROM wcx_articles WHERE article_active = '0'
        UNION
        SELECT * FROM wcx_videos WHERE video_active = '0'
        UNION
        SELECT * FROM wcx_apps WHERE app_active = '0'
        UNION
        SELECT * FROM wcx_links WHERE link_active = '0'
        ";
            if( $this->num_rows( $query ) > 0 ) {    
                $count = $this->num_rows($query);
                return $count;
            }
        }

     public function num_rows( $query ) {
        $query = $this->link->query( $query );
        if( mysqli_error( $this->link ) ) {
            $this->log_db_errors( mysqli_error( $this->link ), $query, 'Fatal' );
            return mysqli_error( $this->link );
        }
        else {
            return mysqli_num_rows( $query );
        }
        mysqli_free_result( $query );
    }