我有一个表单,其中包含一些字段(语言,DateFrom,Dateto,状态).有一个提交按钮.我想根据这些字段上填写的值获取数据.我的查询忽略未填写的字段.我怎么能写查询.
Select * from tbldep where (language='$language') AND ( Date between '$Datefrom' AND '$Dateto')AND (status='$status')
我的查询忽略了没有填充的值。假设用户没有在DateFrom字段中填充日期的值,在这种情况下,查询应该获取所有小于DateTo值的记录。
2条答案
按热度按时间myzjeezk1#
IFNULL。如果没有日期,请将空值替换为默认值,以获取所需的数据。
e4yzc0pl2#
您可以使用布尔逻辑-尽管表达起来有点冗长:
请注意,这使用绑定参数(带有
:
前缀)而不是字符串连接来构建查询(这是不可靠和不安全的)。