从php&中的select语句中选择mySQL的

时间:2016-04-13 03:47:23

标签: php mysql

我正在尝试向数据库搜索添加过滤器。我有一个搜索,需要一些文本,并尝试在标题中找到带有该文本的项目。我还有一个价格范围过滤器。该代码在下面并且工作得很好

 $sql = "SELECT * FROM items where title LIKE '%". $title ."%' AND price > '". $price1 ."' AND price < '".$price2."' Limit 70";

现在我正在尝试越来越多的过滤器。是否从上面的代码输出中选择了?我不想用大量的if语句继续制作更长的SELECT语句。我更喜欢使用前一个选择的输出并使用另一个选择进行优化。这可能吗?

编辑1 上下文:

用户是输入信息的人。这是为了搜索我网站上的项目。

2 个答案:

答案 0 :(得分:1)

如果使用纯SQL,除了向WHERE原因添加许多不同的条件之外没有其他有用的方法。在您的查询中可以使用多个禁止的SELECT语句,但这会使您的代码既不再可读也不会更快。

更优雅的解决方案是使用查询对象或其他形式的面向对象的查询抽象(例如ZendDB)。

答案 1 :(得分:0)

您可以使用一些mysql字符串函数,如INSTR(),MATCH,这将使您的生活变得轻松,并有助于代码的可读性。 您还可以使用REGEXP和NOT REGEXP进行模式匹配。字符串函数列表为here