在同一列上做一个LIKE和BETWEEN

时间:2017-06-20 17:58:16

标签: php html mysql search

我试图创建一个可在线搜索的数据库。我希望用户能够按年搜索所有条目,因此如果他们想要特定年份,则会有一个搜索框。如果他们想要输入一系列年份,我会为其设置两个搜索框,这些搜索框将映射到变量" startyear" " endyear。"这是我的php文件中的代码:

<?php
$year=$_GET['year'];
$startyear=$_GET['startyear'];
$endyear=$_GET['endyear'];                    
$result = mysql_query(" SELECT * FROM DATABASE WHERE year(date_on_ledger) LIKE '%$year%' AND year(date_on_ledger) BETWEEN '%$startyear%' AND '%$endyear%' ");

这不起作用,当我尝试进入开始和结束年份时,它没有给我任何结果。我认为这是因为AND(它试图在开始和结束年之间找到年份,这也与正常的年份条目是空的相匹配)。我应该如何解决此问题,以便我可以同时拥有两种搜索选项?谢谢!

1 个答案:

答案 0 :(得分:0)

您应该使用OR代替AND。