[eluser]WanWizard[/eluser]
Could be anything, varying from an act of god, to a bug in code (yours, PHP, your database engine) to a hardware failure.
With this information, your guess is as good as mine.
Did you use hardware management tools to check the hardware (and in particular the disc and disk connection). Also check the server logs.
Did you use the database engine management tools, to check the integrity of the database? Did you activate query loggging?
If query logging shows an update query that wipes all data, look in the code for that query. Are you sure it's coded properly? No race situation that causes a where clause to be absent?
If you have checked this all, and come up with a blank, then maybe it's a PHP bug...