您好我尝试使用以下代码在日期之间从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?
由于
答案 0 :(得分:2)
而不是
$sql=mysql_query("SELECT * FROM sohy_raports WHERE date BETWEEN ".$_GET['date-range1']." AND ".$_GET['date-range2']." ORDER BY ".$_GET['sort']." ".$_GET['ad']."");
DO
$query = "SELECT * FROM sohy_raports WHERE date BETWEEN ".$_GET['date-range1']." AND ".$_GET['date-range2']." ORDER BY ".$_GET['sort']." ".$_GET['ad'];
echo $query;
$sql=mysql_query($query);
这将打印出您要发送到数据库的查询,并清除很多可能出错的内容,以及您使用的日期格式究竟是什么。
侧面,但同样重要: - 不再使用mysql_ *函数,它们已被弃用且不安全。切换到mysqli_ *或PDO。 - 不要只在查询中使用GET变量(或POST),确保首先清理它们以防止SQL注入。