Mattus is right - and I have used that sort of system before. But as he points out you will then also need a way for the user to save what each extra field is called.

I've used a system like Mattus' when I myself can customise the field names for each user's system. However if the user themselves should be able to add, name and remove fields for their application then I would definitely go with your original suggestion.