You should use one database for all the worlds. If you don't have a clear reason not to it is the only way. Don't worry to much about the number of rows in the database, databases is really fast. As an example we have a table at my job that add rows at a speed of up to 1500-2000 rows per second. And that is on a database server with about 75 other databases.
And to use different tables for the different worlds is, sorry to say it, stupid. Databases is ment to handle a lot of database questions, and it will handle it fine. If you want to add a world you have to change the code with your suggestions, if you construct the database right you just have to add a database row.
Design the database something like below (I assume that a world have gardens, and that a user may be in one garden in one world):
Table user Table world Table gardens
id id id
name name name
That is the basic table structure. Now let's add the relationships:
Table user Table world Table garden
id id id
name name name
worldid worldid
gardenid
What the relations basically are saying is that a user may be in one world and in one garden. A garden belongs to a world.
If you want to add a new world you just add a row to the world table, then add rows to the garden table.
I hope you understand what I am trying to explain. If you don't I think you should go a database course to really understand it. And don't forget to normalize your tables to at least NF 3.