I have been using SMF forum software for almost 2 years now. This is one of those freely available forum software, and I found it as the one that is easy for customization and is easy to use. The ‘Ease’ factor drastically falls, if you look at the source code, though. But, I always prefer open source for in case of crash/ or no-support, I can get my hands dirty and straighten it.
Today my SMF forum crashed throwing,
smf error 2: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: Unable to save result set
I looked into the database using, phpMyAdmin tool that my web hosting provider has given. I started checking through the “smf_log_errors” table to find out the cause. It had several errors, including simple logs such as “login password is not matching” and stuff like that .. and I also found the above quoted “Unable to save result set”. Then, I analyzed the table “smf_log_errors” using phpMyadmin. I found the following errors:
smf_log_errors analyze Error Table './my_smf_log_errors' is marked as crashed and should be repaired
smf_log_errors analyze Error Table 'smf_log_errors' is marked as crashed and should be repaired
smf_log_errors analyze error Corrupt
I though, it would all be fine if I “repair” only this table. But it didn’t work that way. I had to finally repair all the tables.
In case you find similar issue, please do a ‘repair’ of all tables in the respective database.
Following are the steps (listed for quick use):
- Open the respective database using myPhpAdmin tool. You need the username and password for the database. In case you have forgotten, check out the “/forum/Settings.php” file for username and password. You will find them assigned to “$db_user” and “$db_passwd”.
- Do Select All of all tables.
- Repair by selecting “Repair table” action. You can also check the errors by selecting “Analyze table”.
Now, you SMF forum should be back to working.
As I analysed the whole problem, it looks like, the cause for this kind of errors is the over grown “smf_log_errors” table size. So, I recommend deleting the read error logs, once in a while.