Again, check server logs ... apache error, mysql, and/or php.
It's possible that:
the drive upon which the DB files reside is full which would lead to the next possible: tables (notice that's multiple) are corrupted - mdl_log, mdl_sessions? If using the DB for sessions recorder, corrupted table would not allow logins ... by anyone.
To use file based sessions, add a line to the config.php file like:
$CFG->desessions = '0';
that should create a sessions folder automatically in moodledata and use that folder to record session information. If the disk is full, Moodle cannot create a sessions folder in moodledata.
Server Linux and do you have commandline access? A mysqlcheck command will tell you if tables are in need of repair. PHPMyAdmin probably has such a tool as well.
mysqlcheck -u root -p --analyze --databases moodle
df will show free space if the server is standalone ... ie, MySQL is on the same server as Moodle code.
One could also take the debugging lines from config-dist.php and copy them into the active config.php file to turn on debugging without logging on.
Remotely hosted? Has hosting provider been contacted to see if the DB server is having issues? (hosting providers usually use dedicated DB servers ... ie, MySQL NOT on the same server as Moodle.
We keep saying it's broke, but not really providing specific information ... thus can only guess. At this rate ... it could be a long time before issues are resolved. Please provide more specific information.
'spirit of sharing', Ken