【发布时间】:2013-05-22 01:32:24
【问题描述】:
您好,我尝试使用以下代码从 mysql 中选择日期:
if (empty($_GET['date-range1'])) {
$sql=mysql_query("SELECT * FROM sohy_raports ORDER BY ".$_GET['sort']." ".$_GET['ad']."");
} else {
$sql=mysql_query("SELECT * FROM sohy_raports WHERE date BETWEEN ".$_GET['date-range1']." AND ".$_GET['date-range2']." ORDER BY ".$_GET['sort']." ".$_GET['ad']."");
}
但是使用此代码,我无法在日期之间进行选择,只能在 id 之间进行选择。它可能来自日期格式错误 Y-mm-dd ?
谢谢
【问题讨论】:
-
只是一个评论:你应该将时间戳写入数据库,让这个问题更容易
-
$_GET['date-range1']和$_GET['date-range2']的内容是什么?此外,您的代码很容易受到 SQL 注入攻击,如果您打算将此代码放在公共互联网上,您可能需要阅读一下。 -
日期列的数据类型是什么?输入是什么?你为什么不引用这些日期值?为什么不使用查询参数?
-
如果
$_GET['date-range1']为空,您的代码将永远不会用于 else 条件,那么它将如何检查排序和广告之间的逗号。 -
日期范围1 = 2013-05-23;日期范围2 = 2013-05-28;