Да, възможно е. Това е класически случай на състояние на състезание.
Бързото обяснение:
Има вероятност 2 заявки едновременно преминете първата проверка, вземете $num == 0 и двете вмъкват нов ред.
За да го премахнете, трябва да създадете UNIQUE ограничение, което обхваща (user_id, ip, date) колони
Дългото обяснение: