También puedes aprender a usar mejor la base de datos, y aprovechar las transaction, especialmente con aquellas bases que poseen bloqueos a nivel registro, como MySQL. Ese tipo de bloqueo, por ejemplo, en un
SELECT FOR UPDATE, evita que alguien modifique el estado del registro hasta que sea liberado.
Claro que si no, la solución de petit89 sería la más pràctica, y la usual cuando hay microdesconexiones o se necesita un sistema asincrónico.