Ну тогда вот вариант:
SELECT user_id, id,phone,date_time,id FROM WHERE user_id in (SELECT DISTINCT user_id FROM WHERE phone IS NOT NULL) ORDER BY id ASC;
А вообще влупите уникальный индекс и не создавайте костылей в проекте. Если "user_id уникален" так пусть будет уникальным.
Попробуйте что-то вроде этого: preg_match_all('/([А-Я]\. [А-Я]\. [А-я]*)([,0-9].*)?/g', $str, $matches);
Регулярка 100% верная, а вот как ее в коде правильно записать это уже вопрос конечно.
Outoverlay: вот это можно использовать на бекенде. Там даже аннтотация есть "При чтении анимированных файлов GIF в память, возвращается указатель на ресурс изображения только для первого фрейма." php.net/manual/ru/function.imagecreatefromgif.php
Ну так, а что вы сделать то хотите? Не допустить попадание таких картинок на сервер? Допустить попадаение, но отключать анимацию? На чем проект у вас крутится? Как вы это все хотите реализовать?