PHP MySQLi 准备好的语句选择在特定时间添加到记录中的行

标签 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”,并且它四舍五入为数字格式,没有 double 值,因此它是 1489344810。

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

想法:

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

最佳答案

检查文档:

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);

关于PHP MySQLi 准备好的语句选择在特定时间添加到记录中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42752713/

相关文章:

mysql - SQL 分组项的最大平均值

php - "Commands out of sync; you can' t 现在运行此命令”- 由 mysqli::multi_query 引起

php - 使用连接从三个表中获取结果,其中一个表包含多个结果

php - Laravel 全局作用域和连接

php - 按特定值获取 JSON 数据

php - Mysql登录-选择子句

javascript - PHP代码失败但发送200时如何处理AJAX?

php - 如何解决php/mysql插入失败的问题?

mysql - 如何删除超过 400 天的所有帖子

php - $result->num_rows 始终返回 0