Como anotación, es ineficiente para la consulta, pedir todos los registros y después aplicar la función de número de registros mysql_num_rows, sería mejor que en la consulta SQL se incluyera la función nativa COUNT:
Código PHP:
$query_num_registros=mysql_query("SELECT COUNT(*) FROM tabla WHERE categoria IN (".$categoria.") ") or die ( mysql_error() );
$num_registros = mysql_result($query_num_registros, 0); //Esta función devuelve directamente el valor obtenido de la consulta, en este caso la suma del número de registros obtenidos
return $num_registros;
Por otro lado, para hacerlo más dinámico se podría rehacer la función (siguiendo el consejo de Death):
Código PHP:
function suma_categorias($id_categorias = array()) //Le pasamos en un arreglo todos los id de las categorias que deseas contar
{
$query_num_registros=mysql_query("SELECT COUNT(*) FROM tabla
WHERE categoria IN (". implode(", ",$id_categorias) . ")") or die ( mysql_error() );
$num_registros = mysql_result($query_num_registros, 0);
return $num_registros;
}