I don't know whether this is a bug in PhpMyAdmin or whether I really did something wrong, but I tried to create a stored function in my MySQL database.
Things seemed fine at first; it said it created the function successfully.
But then I quickly found that I couldn't see anything else: just the information_schema database and the database I had created the function in. All of my other databases seemed to be gone. And in the one remaining database, I could only see the function - none of my tables!
Time for panic.
I had a database backup from a while ago, but I wasn't sure whether simply restoring that would work... I could imagine that the problem might be hiding in the mysql database, or in some corner of the database which wouldn't get cleaned properly when just restoring.
So I hoped, and submitted an urgent support ticket to my hosting provider, NearlyFreeSpeech.NET (NFSN), asking them to restore the database from backup - I had read in their FAQ that if you contact them shortly after an "accident", they can sometimes get your stuff back from a recent backup (if you wait too long, the accident gets backed up, too...), and hoped that might apply not just to the file system but also to databases.
And this was on a Sunday morning, US time, well outside the normal support hours. But just a few minutes later, I get a response telling me that the database had been restored from a backup dated about two hours before the problem. So, fresh enough that the new Klingon words I had entered this morning were already present, yet old enough to pre-date the problem. Awesome!
A quick check: things look fine again.
Thank you very much, NFSN support, for saving my day!