Advertisement
zero50x

Транзакции mysqli

Aug 6th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.63 KB | None | 0 0
  1. Источник: https://toster.ru/q/237912?e=2596103#answer_634917
  2.  
  3. НИКОГДА нельзя делать так как написал Дмитрий
  4. При конкурентных запросах получится каша и потерянные значения.
  5.  
  6. Вариант 1:
  7. Делать update set money = money + 1 как было написано изначально
  8.  
  9. Вариант 2:
  10. mysqli_query($db, 'start transaction');
  11. mysqli_query($db, " SELECT `money` FROM `dle_users` WHERE `name`='HardBIT' FOR UPDATE");
  12. ...
  13. mysqli_query($db, " UPDATE `dle_users` SET `money` = ... ");
  14. mysqli_query($db, "COMMIT");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement