PHP MySQLi预处理语句选择在特定时间内添加到记录的行

时间:2017-03-12 20:29:42

标签: php mysql mysqli microtime

我遇到了类似的错误:PHP mysqli condition greater than or less than symbol error

但由于我的应用程序有点不同,我找不到解决方案。

我现在有以下声明:

$stmt = $this->mysqli->prepare("SELECT * FROM applications");
$stmt->bind_param("i", $MTNOW);

每次我的用户发送一个新的应用程序时,都会有一个名为“mtime”的字段,它代表“microtime”,它的四舍五入为数字格式而没有双值,所以它是1489344810。

我如何计算准备好的语句,它会选择每一行的microtime并将其增加18000秒(5小时),这样我就可以将结果与当前的microtime进行比较?它应该只显示在5小时内创建的结果。其余的记录将不会显示。

这个想法:

SELECT * FROM applications WHERE (mtime+18000) < ?
bind_param("i", $MTNOW);

1 个答案:

答案 0 :(得分:0)

查看文档:

http://php.net/manual/en/pdostatement.bindparam.php

$stmt = $this->mysqli->prepare("SELECT * FROM applications WHERE mtime < ?");
$stmt->bind_param("1", (yourValue + or - 18000));
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_OBJ);