Cuando coloco luego de hacer la consulta $num_result = mysql_num_rows($rs); da este warning:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in...
que creo que sera porque no se ha realizado la consulta y $rs esta vacio.
Tambien compruebo si la consulta puede ser de esta manera:
$rs = mysql_db_query("SELECT nombre FROM categoria");
sin usar el metodo getCon();
Aqui un screenshot de las ubicaciones de los paquetes:


archivo BaseDatos.php
Código PHP:
   
<?php
class BaseDatos{
    
        private $con;
        private $db;
    
    function Conecta(){
        
        try{
            if(@$this->con = mysql_connect("localhost","root","pass")){
                echo "BD Conectada.<br>";
            }
            
        }catch(Exception $e){
            echo "Error en conexion a la base de datos. \nError:".$e->getMessage();
        }
        try{
            if(@$this->db = mysql_select_db("elpuma")){
                echo "BD Seleccionada.<br>";
            }
        }catch(Exception $e){
            echo "Error en la seleccion de la base de datos. \nError:".$e->getMessage();
        }
        
    }
    function getCon(){ return $this->con;}
    function getBd(){ return $this->db;}
       function ConsultaCategoriaPrincipal(){
        $bd = new BaseDatos();
        $bd->Conecta();
        
        $rs = mysql_db_query($bd->getCon(), "SELECT nombre FROM categoria");
        
        //$num_result = mysql_num_rows($rs);
        //echo $num_result;
        echo "<select name='categoria'>";
        
        while($row = mysql_fetch_array($rs)){
            echo "<option name='".$row["nombre"].">".$row["nombre"]."</option>";
        }
        echo "</select>";
        
        if(mysql_close($bd->con)){
            echo "DB Cerrada. <br>";
        }
      
    }
}
?>    Código PHP:
   
<?php
include ('../controlador/BaseDatos.php');
$bd = new BaseDatos();
$bd->ConsultaCategoriaPrincipal();
?>    Código PHP:
   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Registro de Usuario</title>
</head>
<body>
<h2>Categoria Principal</h2>
<?php include ('../modelo/categoria_principal.php'); ?>
</body>
</html>   Gracias amigos.
 
 
