你好:)我有一个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的所有行。然而,在NULL之后,我根本没有得到任何结果。
现在我猜这与我的写作或结构方式有关,或者可能是我把"从开始"部分设置错了。
任何对此文章的贡献者,我感谢您的帮助:)
查询中有一个额外的WHERE
。应该是这样的:
SELECT *
FROM table1
WHERE time_finished IS NULL
AND (comment LIKE 'A%'
OR comment LIKE 'B%'
OR comment LIKE 'C%')
尝试删除额外的WHERE
:-
SELECT * FROM table1 WHERE time_finished IS NULL
AND (comment LIKE 'A%' OR comment LIKE 'B%' OR comment LIKE 'C%')
删除重复的WHERE
子句,并在()
括号内添加OR
条件。
SELECT *
FROM table1
WHERE time_finished IS NULL
AND
(
comment LIKE 'A%'
OR comment LIKE 'B%'
OR comment LIKE 'C%'
)
查询中有一个额外的where
。请删除,然后尝试:
SELECT * FROM table1 WHERE time_finished IS NULL
AND (comment LIKE 'A%' OR comment LIKE 'B%' OR comment LIKE 'C%')