我正在尝试进行一个查询,该查询将获取输入的项目并搜索数据库。我知道我是怎么做到的,但是这个查询就是不想工作。
这是查询
$getcamp = $db->query("SELECT * FROM `campaigns`
WHERE `requirements` LIKE '%$keyw%' OR `description` LIKE '%$keyw%' OR `name`
LIKE '%$keyw%' OR `countries` LIKE '%$country%' OR `id` LIKE '%$camp%' OR `category`
LIKE '%$cat%' AND `active` = '1' ORDER BY `added`")
or die($db->error);
有很多OR
中断,我尝试用括号括起来有几个不同的变体,但查询仍然不起作用,也没有错误,它仍然显示表中的所有内容而不是搜索的内容。我不是最好的这类查询,因为通常我只写搜索 1 或 2 个项目,这个搜索很多。
如果我只搜索该语句中的前 3 个,它会正常工作,但是一旦我开始添加它,它就会中断,即使我在前 3 个周围加上括号,我只是不确定我在做什么错误的。
另外请注意,我的主机没有 mysqlnd 支持,这就是为什么我没有使用准备好的语句,但我的变量事先被转义了。