Right, so let me get this clear:
1. User registers
2. Unique activationkey is generated and stored in DB on users account
3. User receives an e-mail with a activation-URL, which doesn't actually include the activationkey?
4. User then clicks link verify.php?id=codingforums, in which codingforums is
a) the actual ID of the row (this is usually a number, not a word, unfortunately just out of range in your screenshot); or
b) the activationkey
Because if 4a is the case, then why are you generating unique keys, as they're not being used.
If 4b is happening, then you are searching the DB for an ID which is not being found, as the key is stored in the table.activationkey, not in table.id.