0

我正在制作一个搜索表单,无论我做什么查询都会返回错误的结果。

$sql = "select * from posts WHERE title like '%$term%' or description like '%$term%' and type='$type' order by id";

这是返回结果直到描述,但完全忽略类型。但如果我只给出它有效的类型。例如

$sql = "select * from posts WHERE type='$type' order by id";

谁能告诉我这是因为查询太复杂而发生的吗?还是我错过了什么。提前致谢。

4

1 回答 1

4

似乎您只需要一些括号,因为AND优先于OR.

$sql = "select * 
from posts 
WHERE (title like '%$term%' or description like '%$term%') and type='$type' order by id";

指定列列表而不是SELECT *.

于 2013-02-07T17:47:26.287 回答