php - 来自数据库的 Unix_Timestamp

标签 php mysql

在我的网站上,我制作了一个自动发票系统。它将从特定月份为特定用户生成发票。您可以选择用户、月份和年份,然后单击生成。

但是,在我的 MYSQL 数据库中,我用 Unix 时间戳存储了用户订购的产品日期。现在我想通过检查 Unix 时间戳是否匹配来加载某个月的所有产品。但它不会起作用。

我的代码:

require "connect.php";
$create_by=$_GET['user'];
$jaar=$_GET['jaar'];
$maand=$_GET['maand'];
$number = cal_days_in_month(CAL_GREGORIAN, $maand, $jaar);
$result = mysql_query("SELECT *
FROM `mrbs_entry`
WHERE start_time >= UNIX_TIMESTAMP(".$jaar."-".$maand."-01)
AND start_time <= UNIX_TIMESTAMP(".$jaar."-".$maand."-".$number.")
AND create_by = '".$create_by".' 
ORDER BY `start_time`, `room_id`");

日期通过链接给出,如用户、maand、jaar。

maand 是月份,jaar 是年份。

最佳答案

你没有在查询中引用你的日期值,所以你正在构建

... WHERE start_time >= UNIX_TIMESTAMP(2016-01-15)

这不是日期值,它是双重数学减法,您实际上正在执行 UNIX_TIMESTAMP(2000),这可以追溯到 1970 年。

WHERE start_time >= UNIX_TIMESTAMP('".$jaar."-".$maand."-01')
                                   ^-----------------------^

注意指示的引号。还要注意,您对 sql injection attacks 持开放态度, 所以享受你的服务器 pwn3d。

关于php - 来自数据库的 Unix_Timestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813136/

相关文章:

mysql - Mysql 当有重复时左连接

PHP li值在sql查询中使用

php 使用 preg 自定义解析字符串

php - 在php mysql中使用 "CASE WHEN ... THEN"时错误查询值为空?

php - 检测 <link> 或 &lt;script&gt; 标记中是否使用了 php 文件

php - 闰年和非闰年分表

php - Wordpress - 使用基于 MySQL View 中的数据的表创建帖子

javascript - AngularJS 1.2.0 $http 不保留数组元素

mysql - SQL检查数据是否被采样

mysql - 我应该在网站数据库中保存哪些数据?