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 );
    }