我遇到了类似的错误: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/