我一直试图调试这个问题已经有一段时间没有成功了。
一旦我在下面的查询中添加了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
我非常感谢您找出解决此问题的原因。
非常感谢提前!
答案 0 :(得分:0)
问题似乎是两个标准都没有达到。如果您需要使用OR
子句,则可以执行
SELECT *
FROM `workorders`
WHERE (`status`='Open'
OR `job_site_name` LIKE '%".$searchword."%')
ORDER BY `date_promised` ASC
LIMIT 20