Я не уверен, что, возможно, я понимаю вашу проблему, глядя на объявление столбца lastcheck CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, которое означает, что когда вы обновляете (ip = '$ uip') этот столбец, автоматическое обновление даты также происходит при последней проверке. Это означает, что вы можете написать обновленную информацию следующим образом:
REPLACE INTO users SET ip = '$uip';
Это также должно обновить поле lastcheck, и я думаю, что лучше использовать функции даты mysql для сохранения вашей даты / времени, чем записывать их в php и сохранять их в виде строки в базе данных ...