PHP查询:从包含多个语句的表中选择

时间:2015-11-18 09:52:25

标签: php mysql

你好:)我有一个PHP查询从数据库中选择数据,到目前为止它似乎没有返回任何结果。

$query = $db->query("SELECT * FROM table1 WHERE time_finished IS NULL AND WHERE comment LIKE 'A%' OR comment LIKE 'B%' OR comment LIKE 'C%' ");

此处是查询。它试图做的是选择列" time_finished"为空并且注释以A,B或C开头。

现在,如果我在NULL语句之后删除语句,它将返回" time_finished"一片空白。但是,在NULL之后,我根本没有得到任何结果。

现在我猜测这与我编写或构建它的方式有关,或者我可能已经设置了"从"开始"部分错了。

这篇文章的任何贡献者,我感谢你的帮助:)

4 个答案:

答案 0 :(得分:4)

您在查询中有一个额外的WHERE。应该是这样的:

SELECT * 
FROM table1 
WHERE time_finished IS NULL 
  AND (comment LIKE 'A%' 
       OR comment LIKE 'B%' 
       OR comment LIKE 'C%')

答案 1 :(得分:2)

请尝试删除额外的WHERE: -

SELECT * FROM table1 WHERE time_finished IS NULL 
AND (comment LIKE 'A%' OR comment LIKE 'B%' OR comment LIKE 'C%')

答案 2 :(得分:1)

删除重复的WHERE子句,并在OR括号内添加()条件。

SELECT *
FROM table1
WHERE time_finished IS NULL 
AND
(
comment LIKE 'A%'
OR comment LIKE 'B%'
OR comment LIKE 'C%'
)

答案 3 :(得分:1)

您在查询中有额外的where。请删除然后尝试:

SELECT * FROM table1 WHERE time_finished IS NULL 
AND (comment LIKE 'A%' OR comment LIKE 'B%' OR comment LIKE 'C%')