Php 检查DateTime在X秒前的查询
我正在使用PHP和MySQL为我最近创建的论坛创建一个洪水过滤器,我对此进行了研究,但几乎没有结果,其中只有一个可能让我进一步解决问题 这是密码Php 检查DateTime在X秒前的查询,php,Php,我正在使用PHP和MySQL为我最近创建的论坛创建一个洪水过滤器,我对此进行了研究,但几乎没有结果,其中只有一个可能让我进一步解决问题 这是密码 $overview_threads = mysql_query("SELECT * FROM `forum_posts` WHERE `author`='".$_SESSION['username']."' AND TIMESTAMPDIFF(SECOND, `created`, now()) <= 20"); $overview\u thre
$overview_threads = mysql_query("SELECT * FROM `forum_posts` WHERE `author`='".$_SESSION['username']."' AND TIMESTAMPDIFF(SECOND, `created`, now()) <= 20");
$overview\u threads=mysql\u query(“从'forum\u posts`WHERE`author`='”、$\u SESSION['username']。”和TIMESTAMPDIFF(第二个,'created`,now())首先,您可能应该使用DATE\u SUB()
进行此操作,因为它将更加方便索引(当然,您需要在创建的上创建索引)
其次,为了确定是否有记录,您必须查看结果集
$result = mysql_query($query); // query is that shown above
if (false === $result) {
echo mysql_error();
} else if (mysql_num_rows($result) > 0) {
// you found a match
}
第三,您应该真正考虑使用mysqli
或PDO
而不是mysql.*
函数,因为这些函数已被弃用。那么您关于查询或如何从查询结果集中读取数据的问题呢?我的问题是获取查询结果,看看它是否为1,如果为1,它将重定向,因此没有t发布论坛帖子。20秒的间隔部分不起作用。简单问一个问题,如果“创建”字段大于20秒或小于20秒,您上面发布的代码是否会得到结果?@user2230442如果创建的
大于或等于20秒前,它会得到任何结果。可以让它得到结果吗如果只切换大于号,则“创建”的时间为20秒或更短?@user2230442是的,但这不会让你得到你想要的内容,也不会让你的帖子超过20秒。等等,我能说得更清楚吗?我正在尝试创建一个基本系统,以查找用户创建的任何线程(带有会话)所以它会阻止或继续,这取决于结果。你是用你的第一个答案告诉我,这会起作用吗?
$result = mysql_query($query); // query is that shown above
if (false === $result) {
echo mysql_error();
} else if (mysql_num_rows($result) > 0) {
// you found a match
}