Есть запрос
$sql="UPDATE user set bl='".$value."', vidacha='".strtotime(trim($z[1][0]))."', attestat='".$attestat."', zjalob='".trim($outp[1][1])."', verif='".time()."' WHERE userid='" . $userid . "'";
Можно ли в этом же запросе участок verif='".time()."' выполнять только если он равен нулю? Т.е. если в этом поле уже содержатся данные, то они не менялись
Стартуете транзакцию, делаете select * from user where user_id = ... FOR UPDATE, смотрите что вернулось.
В зависимости от этого собираете нужный запрос.