Regardless if the user has chosen a premade question or typed a custom one… in the database you need to have saved the question (be it a chosen one or a custom one)
As for the passwords… that’s right… there is no password recovery but a password reset in question…
As I wrote above… in my opinion it would be easier for you if you have only one filed in the database - "secret question"… and then regardless if it was chosen as a predefined one… or typed as a custom one… save that question to the database…
This way in the future if you find that your predefined questions are outdated and needs to be changed you can just change them, because all previously registered users has the old question saved in the database and no harm done… on the other side if you save just the number of the question… you cannot change them in the future…