2016-05-14 22 views
1

如何仅在ID的a到b之间的列中搜索数据? 我用下面的语句,但它似乎是在搜索整个表如何在ID的a到b之间的列中搜索数据?

$statement = mysql_query("SELECT * FROM mylist 
      where `categ` between 300 and 399 
      && `name` LIKE '%".$searchVal."%' 
      || `street` LIKE '%".$searchVal."%' 
      || `description` LIKE '%".$searchVal."%' 
        ORDER BY id"); 
+0

您需要将括号内的OR条件分组。 – mitkosoft

回答

0

您需要将你的情况是这样运行的,

$statement = mysql_query("SELECT * FROM `mylist` 
     where `categ` between (300 and 399) 
     && (`name` LIKE '%".$searchVal."%' 
     || `street` LIKE '%".$searchVal."%' 
     || `description` LIKE '%".$searchVal."%') 
       ORDER BY id"); 
+0

谢谢,团队条件工作 – user1377921

+0

@ user1377921:如果您的问题解决了,您可以标记为接受任何适当的答案,也可以组成选票;) –

1

您可以使用另一个约束像大于和/或小于

 $statement = mysql_query("SELECT * FROM mylist ML 
     WHERE (ML.categ>=300 AND ML.categ<=399) 
     && `name` LIKE '%".$searchVal."%' 
     || `street` LIKE '%".$searchVal."%' 
     || `description` LIKE '%".$searchVal."%' 
       ORDER BY id"); 
相关问题