我已经做了一个搜索栏来搜索我的查询字符串

$q = $_GET('val');
$sqlquery=$mysqli->query("SELECT * FROM tickets_search WHERE (ticket_date LIKE
'%".$q."%') OR (car_number LIKE '%".$q."%') order by ticket_id desc");


现在,当我搜索HU-GG 6时,它会给我两个结果
看这里:

片段1:HU-GG 6-1

当我搜索HU-GG-6.It给我另一个结果
看这里:

片段2:HU-GG-6-2

我想要的是无论我写什么,都用HU-GG-6或HU-GG 6显示所有三个结果,它应该显示所有三个结果。

最佳答案

尝试一下:您可以使用REPLACE来满足您的两个条件,但是我不确定它有什么帮助,如果不正确,请在REPLACE中调整PHP

SELECT *
FROM tickets_search
WHERE (ticket_date LIKE '%".$q."%') OR
     (REPLACE(car_number, ' ', '-') LIKE REPLACE('%".$q."%', ' ', '-'))
ORDER BY ticket_id DESC

08-27 10:44