Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查DateTime在X秒前的查询_Php - Fatal编程技术网

Php 检查DateTime在X秒前的查询

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

我正在使用PHP和MySQL为我最近创建的论坛创建一个洪水过滤器,我对此进行了研究,但几乎没有结果,其中只有一个可能让我进一步解决问题

这是密码

$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
}