Wednesday, April 14, 2010

SMF Error: smf error 2: Unable to save result set

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):

  1. 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”.
  2. Do Select All of all tables.
  3. 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.

No comments:

Post a Comment