Firstly, this question has kind of been asked before here.
The problem is that after creating a new column by using ALTER TABLE, a new column does get created, but sometimes it isn't shown in the structure tab. When it occurs, using SELECT * FROM <tablename> does not display that column but SELECT <columnname> FROM <tablename> does. All queries on that column work perfectly.
Solution to this problem was rightly posted and it was simple -- to export that complete table, drop it and then import it again.
My question is why does such a thing happen? It's really a nuisance. It isn't a problem when working locally, I can always import/export/drop, but what I have a piece of code that continuously drops/creates new columns? Why does this happen and why does an import/drop/export do the trick? Is it a bug with phpMyAdmin?
PS: I am using phpMyAdmin with XAMPP v3.2.1 on localhost.