添加where子句会破坏查询吗?

时间:2013-03-05 22:43:03

标签: php mysql sql

我一直试图调试这个问题已经有一段时间没有成功了。

一旦我在下面的查询中添加了where子句,我的mySQL查询似乎就会中断。

注意这应该在没有结果时返回:

SELECT * FROM `workorders` WHERE (`status`='Open') AND 
 `job_site_name` LIKE '%".$searchword."%'  ORDER BY `date_promised` ASC LIMIT 20

这是没有where子句的相同查询,它会按预期返回结果,但我需要将status=Open作为查询的一部分......

SELECT * FROM `workorders` WHERE 
 `job_site_name` LIKE '%".$searchword."%'  ORDER BY `date_promised` ASC LIMIT 20

此外,这有效(并显示状态列存在并在其他情况下有效):

SELECT * FROM `workorders` WHERE (`status`='Open') AND `invoice_number` LIKE 
  '%".$searchword."%'  ORDER BY `date_promised` ASC LIMIT 20

我非常感谢您找出解决此问题的原因。

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

问题似乎是两个标准都没有达到。如果您需要使用OR子句,则可以执行

SELECT * 
FROM `workorders` 
WHERE (`status`='Open' 
   OR `job_site_name` LIKE '%".$searchword."%')
ORDER BY `date_promised` ASC 
LIMIT 20