检查两个变量是否为空

时间:2017-02-08 03:01:33

标签: php

我正在尝试设置几个elseif语句,以查看某些输入字段是否为空。这些输入字段的值声明为$ date1和$ date 2.如果这些字段不为空,则MySQL查询将选择介于这两个日期之间的所有数据。

具体来说,我遇到了病情。这就是我到目前为止所做的:

$keyword = esc_sql($_GET['keyword']);
$date1 = esc_sql($_GET['date1']);
$date2 = esc_sql($_GET['date2']);

$sql = "SELECT * FROM tablename WHERE ";

if(!empty($keyword)){
    $sql .= " name LIKE '%$keyword%'";
}

elseif(!empty($date1)){
    $sql .= " introDate = '$dateIntro1'";
}

elseif (!empty($date1) && !empty($date2)) {
    sql .= " introDate BETWEEN '$date1' AND '$date2'"
}

但是,elseif条件似乎不起作用,因为当我添加SQL查询时,我没有得到任何结果。我已经测试了SQL查询,它工作正常。我可能会缺少什么?

1 个答案:

答案 0 :(得分:-2)

$之前缺少date2,更新为:

 SELECT * FROM `tablename` WHERE date BETWEEN '$date1' AND '$date2'

当然,您需要将查询发送到数据库,例如mysqli_query或您使用的任何驱动程序。

如果变量来自用户输入,请注意SQL注入。相反,通常使用变量绑定。

相关问题