我正在开发一个应用程序,用户应该在一天内点击并发送两次图片,但我不知道该如何做,我想给用户一个限制,他一天可以发送两次图片,不超过that.Assume,即10卢比是每条记录的一个金额,所以应该是每天20卢比。
$sql = "INSERT INTO `daily_uploads` (img_path, geoplugin_city, geoplugin_regionName, date, amount)
VALUES ('$img', '$city', '$region', '$date','$amount')";
if ($conn->query($sql) === TRUE) {
echo"success";
}
else{
echo"Something wrong";
}发布于 2016-12-13 11:58:43
看看今天用mysql做了多少个条目:
SELECT COUNT(*) FROM `daily_uploads` WHERE DATE_FORMAT(`date`, '%Y-%m-%d') = CURDATE();使用此信息禁止在PHP中插入。
发布于 2016-12-13 12:12:20
如果我正确理解了你的问题,你只能有两条记录给每个用户。这通常是使用CHECK约束完成的,但不幸的是mysql不支持这一点,因此我们必须使用触发器。
CREATE TRIGGER daily_uploads_check
BEFORE INSERT ON daily_uploads
FOR EACH ROW
BEGIN
IF( SELECT COUNT(*) FROM daily_upates WHERE /* conditions here */ ) =2 THEN
SIGNAL 'your error message'
END IF
END您应该在执行select查询后立即执行鱼缸锁,以确保没有其他线程正在进行插入。
https://stackoverflow.com/questions/41120323
复制相似问题