If you're having all the data on a server, just have one database; you don't want the overhead of your script opening and closing lots of connections, and maintaining pointers to different databases - and of course, there may be something that would be duplicated anyway. If you're using MySQLi (and some other database extensions), a pool of connections to the database will be maintained, if they're all the same database.
Internally, you might use something simple, like an INT, to indicate the user id in your database, but you probably don't want to expose that to the user, because it might make it easier for people to fiddle and work out how to access someone else's data.
So, when you app connects to the server with whatever credentials it supplies (email and a password, say), the server will validate that, and find out from one of its tables what the internal user id is. It can then create a unique key (a hash, say, based on the time, the email address, and the user id), and store that in a table, as well as passing it back to the client app.
Make the client app pass that hash each time it sends a request, rather than an id or username that someone can easily spot if they're monitoring traffic; the database can look it up, and easily work out the correct id, which will be used in every single query, so that the user can't change anyone else's data, so virtually every query will have "WHERE memberid = X" in it.
There might be some information you want to cache locally; I do that in one of my apps, for example. Information about who's online, or full info for all members, is never cached, but the preview info (name, location, summary) is cached (and deleted if flagged on the server as changed, or not used for a long time). So, if you request someone's info, after the first time, the summary will appear almost instantly from the local cache, while you wait for the full info from the server.
You might want to think about when this approach might work for you. For example, the database in the warehouse might be the most up to date with information on stock and so forth. But it might be useful to have a local copy of all the products available on each device, without stock levels, which allows people to search on their device, even without a connection, and see if you may have something, and the product number.