我正在我的“search.php”中为一个数据库构建一个搜索功能,我在其中存储有关 ip 地址和各种单位的信息。每个单元在数据库中都有一个“类别”列。我的搜索选择是在文本字段中搜索,和/或在下拉列表中选择一个类别。当我在下拉列表中选择一个类别而不在文本字段中输入任何内容时,我会得到正确的结果(返回包含所选类别的所有行)。
但是当我在文本字段中输入任何内容时,我没有得到任何结果。
当我只选择类别时查询(在这种情况下“IP地址”被选为类别):
SELECT dataid,
firstname,
lastname,
data.name dataname,
description,
ip,
TYPE,
TIMESTAMP
FROM DATA
INNER JOIN USER ON DATA.userid=USER.userid
WHERE TYPE='IP-adress'
AND DATA.name LIKE '%%'
AND description LIKE '%%'
AND ip LIKE '%%'
AND TYPE LIKE '%%'
AND firstname LIKE '%%'
AND lastname LIKE '%%'
ORDER BY TIMESTAMP DESC
如我所愿,这将返回包含所选类别的所有行。
当我在文本字段中输入内容时进行查询:
SELECT dataid,
firstname,
lastname,
data.name dataname,
description,
ip,
TYPE,
TIMESTAMP
FROM DATA
INNER JOIN USER ON DATA.userid=USER.userid
WHERE TYPE='IP-adress'
AND DATA.name LIKE '%test%'
AND description LIKE '%test%'
AND ip LIKE '%test%'
AND TYPE LIKE '%test%'
AND firstname LIKE '%test%'
AND lastname LIKE '%test%'
ORDER BY TIMESTAMP DESC
我有组合,其中包含包含单词“test”的列作为我的输入,但我没有得到任何结果。
我已经有一段时间了,我很确定我以前遇到过相反的问题,当我选择一个类别时我没有得到任何结果。
无论如何,我希望另一双眼睛可以帮助我。如果您需要更多代码,请索取!