【发布时间】:2017-02-08 03:01:33
【问题描述】:
我正在尝试设置几个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 查询,它工作正常。我可能会错过什么?
【问题讨论】:
-
我没有看到你在任何地方执行该查询..
-
$date1 & $date2 变量集在哪里
-
这不是有效的 PHP。您不能只将 SQL 放在 PHP 脚本中。你需要对如何使用mysqli函数做一些研究。
-
你需要一个
if才能获得elseif -
“我可能遗漏了什么?” - 错误检查,上帝只知道
AND 'date2'的意思。
标签: php