Xin giúp đỡ về PHP
Mình chủ một hệ thống khá lớn và mình muốn giới hạn một số user / xử lý 1 đoạn php nào đó, cụ thể là giới hạn 5 thành viên xử lý cùng 1 lúc, nếu trên số lượng đó thì báo lỗi về.
Trước khi xử lý thì mình thêm đoạn:
$query = “UPDATE
users
SETuser
=user
+ 1 WHEREid
= 1”;
$checkUsers = mysql_fetch_assoc(mysql_query(“SELECTuser
FROMusers
WHEREid
= 1”));
if($checkUsers[‘user’] > 5){
die(‘Đã có quá nhiều người sử dụng lúc này, hãy thử lại sau!’);
}
rồi sau khi xử lý thì thêm đoạn
$query = “UPDATE
users
SETuser
=user
- 1 WHEREid
= 1”;
Nhưng thấy đoạn này có khi làm việc có khi bị nghẽn, vậy mọi người cho mình biết có cách nào tối ưu hơn không ạ?
Hãy dùng transaction cho các business-case kiểu này nhé. Không chỉ php mà ngôn ngữ nào cũng cần áp dụng
http://php.net/manual/en/mysqli.begin-transaction.php