Now this looks more like a planning issue more than anything.
Try breaking up the form process into a multi-page process flow. If the data absolutely must be kept in seperate tables.
If their is no need, redesign your tables to fit all the data inside 1.
Being a registration process, I really don't think you're going to need more than 2, one for the user profile and 1 for the user name and id...
but hey... I don't know what you're building,
but would recommend using 3 pages for the registration process. Why? Because you'll get faster load times and less user intimidation from having them stare blankly at a form that's 3 feet long.
If all of that is totally unacceptable to you, then just use the one form and three db inserts.
Oh, and as for opening and closing connections, that has nothing to do with it, as MySQL will always use the last active connection if possible. Just change your query to reference the different tables.
It would probably help here if you were to post your SQL statements so that we could look and see just where you went wrong here.
But, you should be able to do this with a single connection and multiple queries.