我在我的网站上有一个php聊天脚本,我想添加一个反垃圾邮件措施,这样如果mysql表中的最后5条消息是你的话,它就不会发布你的消息。
我是否必须使用记录集循环显示最后5个,或者是否有可以为我检查的SQL语句?
表格字段只是'日期''文字''用户ID'
答案 0 :(得分:3)
您可以使用此类查询来获取相关人员最近5条消息中的多少条消息。
select
sum(if(userid = '$user_id',1,0)) = 5
from (
select userid from chat order by id desc limit 5
);
答案 1 :(得分:1)
在MySQL中:
select userid, count(date) as howmany from
(
select userid, date
from YOURTABLENAME
order by date desc
limit 5
)
lastfiverows
group by userid
order by howmany
然后在PHP中检查“howmany”字段是否为5,并且userid与相关用户匹配。
答案 2 :(得分:0)
按日期(DESC)订购记录集(ORDER BY)并将其限制为5