By what type of "table" I assume you mean storage engine. Anything that supports mutations (i.e. not "archive" or "black hole")
Any numeric field will do (tinyint, int, float, etc). That said, there's no special PHP code, just the SQL for incrementing the desired field:
UPDATE table SET field = field + 1 WHERE [...]
If you want a transaction, then pack the above query into a transaction. As for MySQL version, I agree with @hsz - use the most current version possible.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…