PHP supports SQLite3 databases
Simple to set up if your web host has it enabled.
Make a folder
run a simple script to make the database file.
change / nodify the file permissions, these should be lowered to the point that the file is not accessible or visible to the outside world but is visible to the system and its owner, this process is alsow able to be done through a PHP script...
$db = new SQLite3("test.db3");
chmod("test.db3", 0600 ); // or could be 0644
Something as simple as running that in a folder of its own should produce an empty SQLite3 database file that is not visible to anyone but the site owner, system so that any PHP script on the site can access that file but it will never be downloadable because it is not visible.
Having run the script on my server, found a file
test.db3 with the file permissions set to
0600 which is as low as you can go, it may be that you need
0644 as the permissions, you won't know until you encounter problems.
If you run that on your web host, if you get errors, then read the errors, it may be that you need to change the php.ini for your site or your host doesn;t want you running a freebie on a server that they charge extra for a database...